2014-01-14 2 views
0

У меня есть HTML-код, который вызывает код Javascript «map_stations.js». Map_stations.js использует широта/долгота координаты из master_file.csv разместить несколько маркеров на карте Google и добавить обработчики событий к ним:JSON Сообщение от JQuery до Python Неудачно

function mapStations(map) { 
    $.get('master_file.csv',function(data) { 
     getStations(data,map) 
    }); 
} 

function getStations(data,map) { 

    ... 

    var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map 
    }); 
    google.maps.event.addListener(marker,'click',function() { 
     $.getScript('plot.js', function() {}) 
    }) 

    ... 
} 

В plot.js, я в настоящее время редактирования кода на Python с использованием эхозапросы Ajax и получить какой-то ответ:

$.ajax({ 
    url: '/pycode/etsurge.py', 
    type'post', 
    dataType:'json', 
    data: JSON.stringify({'key1':'value1'}), 
    success: function(response){alert('hi'); 
           makePlot(response.data);} 

map_stations.js успешно называет makePlot(), если я вынимаю вызов Ajax, так что я знаю, что эти два сценария работы. Это просто моя неспособность правильно кодировать вызов Ajax, вызывающий проблемы. Вот код Python:

import sys 
import json 
import cgi 

fs = cgi.FieldStorage() 

result = {} 
result['success'] = True 

d = {} 
for k in fs.keys(): 
    d[k] = fs.getvalue(k): 

result['data'] = d 

sys.stdout.write('Content-Type: application/json\n\n') 
sys.stdout.write(json.dumps(result)) 
sys.stdout.close() 

код Python продолжает делать другие вещи, и я проверил, чтобы убедиться, что он работает без ошибок. Он печатает пустой вывод из приведенных выше команд, когда я запускаю его сам по себе.

Я скопировал вышеуказанный код Ajax/Json непосредственно из here, однако я не могу получить успешный вызов Ajax. Может ли это иметь какое-то отношение к вложению $ .ajax внутри $ .getScript в $ .get? Если да, то как это исправить? Если нет, что еще это может быть?

+0

У вас ошибка 500? Я бы проверял журналы вашего сервера. Эти проблемы могут быть больно отлаживать, и они могут включать конфигурацию сервера в качестве вашего фактического кода. – BrenBarn

+0

@BrenBarn, спасибо. Я поговорю с начальником об этом и посмотрю, что мы находим (у меня нет полных прав на просмотр журналов, это было бы слишком просто). –

ответ

0

Оказывается, в cgi-bin не хватает некоторых необходимых предметов.

Смежные вопросы