У меня были некоторые серьезные междоменные проблемы с jquery, поэтому я пытался обойти это через web2py.
Я отправляю данные POST из локального файла HTML на мой сервер web2py,Затем Web2py делает POST-запрос Python ко второму серверу (который решает междоменную проблему) и получает ожидаемый ответ.Как я должен получить этот ответ обратно в мой локальный файл HTML?
Я думал о том, чтобы сохранить эти результаты в базе данных и затем извлечь их с помощью перенаправления URL-адреса, но я не уверен, что смогу угадать, какой URL мне понадобится.Возможно, просто возьмите последнюю запись из базы данных.
Или есть лучший способ?
Я понимаю, что, вероятно, есть гораздо лучшие способы сделать это непосредственно из исходного локального html-файла и полностью обойти web2py, но я гораздо более удобен в python, чем js.
Так что я 'пытаюсь получить от:
[локальный html-файл] -> [POST на web2py] -> [POST на другой отдельный сервер] -> [ОТВЕТИТЬ на локальный html-файл]
Iпросто не могу разобраться с последним этапом.
Мой контроллер, который отправляет сообщения на 2-й сервер (это работает):
def index():
response.headers['content-type'] = 'text/xml'
xml = request.body.read()
query_args = { 'data': xml }
encoded_args = urllib.urlencode(query_args)
url = 'myserver.com'
content = urllib2.urlopen(url, encoded_args).read()
return response.render(dict(content=XML(content)))
мой локальный HTML-файл выглядит так (это правильно):
<script language="javascript">
function check()
{
jQuery('.myclass').each(function(){
var txt = $(this).serialize();
$.ajax({
type: 'POST',
url: 'myserver',
data: 'mydata',
statusCode: {
302: function() {
alert("302"); // this is never called
},
200: function() {
alert("200");
},
},
success: function (data, textstatus) {
console.log(data);
},
error: function (data) {
},
});
});
}
</script>