2010-01-10 5 views
0

Эй, я делаю этот проект, в котором мы должны подключить яваскрипт на сторону клиентского приложения/веб-страницу на сервере А с боковой питон сервер скриптом на сервере B.Получения вывода из стороны сервера питона сценария

I нужно получить выход из скрипта python и сохранить его в переменной, но я столкнулся с некоторыми проблемами. Я пытался использовать XMLHttpRequest для этого, и хотя мне удалось установить соединение, возвращаемое значение из скрипта всегда «», пустая строка, и этого не должно быть.

Кто-нибудь знает, в чем проблема может быть здесь и как ее решить?

P.S. Я был намекнул, что это может быть связано с безопасностью межсайтового скриптинга или что-то в этом роде, я не уверен, что это помогает.

Благодаря

EDIT: Я изменил к JQuery, который, кажется, проще. По-видимому, проблема действительно кросс-серверная (мне удалось получить данные, если сценарий находится на одном сервере), безопасность или разрешения в веб-браузере (Firefox). Кто-нибудь знает об этом?

EDIT2: Нам удалось решить эту проблему с помощью JSON ... спасибо за ответы в любом случае!

+0

Что вы можете попробовать, это взять любой URL-адрес, который вы передаете XMLHttpRequest, и посетить этот URL-адрес в своем веб-браузере. Ваш браузер должен позволить вам видеть вывод из сценария. Возможно, ваш сценарий ничего не возвращает. –

+0

Я пробовал это, и он возвращает выход. Мы попробовали с текстом/html, text/xml, и он будет отображаться в браузере, помещая там url. Он просто не работает, когда мы пытаемся сделать вызов из javascript. Запрос успешно (readyState = 4), но responseText - «» .. и это, очевидно, не должно быть. Любой другой способ сделать это также был бы полезным. – Zepee

+0

Является ли скрипт Python запущенным в другом домене от страница с JavaScript? У вас может возникнуть проблема с этим: http://en.wikipedia.org/wiki/Same_origin_policy –

ответ

4

Похоже, что ваш XMLHttpRequest терпит неудачу, потому что вы пытаетесь выполнить кросс-доменный запрос. Вместо этого вы можете использовать междоменное решение, например, JSONP.

В целом, такие инструменты, как Firebug net panel, действительно полезны для отладки этих проблем - вы можете использовать их, чтобы определить, правильно ли клиент отправляет запрос и правильно ли отвечает сервер.