Я пытаюсь сделать запрос Ajax на другой домен, он уже работает, но теперь у меня есть еще одна проблема ...Получить ответ XML из запроса междоменной Ajax с JQuery
Это мой код:
function getChannelMessages(channel) {
jQuery.support.cors = true;
$.ajax(channel, {
cache : true,
type : "get",
data : _channels[channel].request,
global : false,
dataType : "jsonp text xml",
jsonp : false,
success : function jsonpCallback (response) {
console.log(response);
updateChannelRequest(channel);
//getChannelMessages(channel);
}
});
}
Как я уже сказал, это уже работает, но проблема заключается в том, что сервер возвращает XML (не мой сервер, это другой сервер из другой компании - веб-служба, поэтому я не могу изменить то, что он возвращает) и как jsonp ожидает, что json не сработает с ошибкой:
SyntaxError: syntax error
<?xml version="1.0"?><ReceiveMessageResponse xmlns="http://q ... />
Согласно документации jQuery, добавление jsonp text xml
должно сделать волшебство, преобразование ответа на простой текст и затем разбор его как XML, но оно не работает.
Я уже смог сделать это с помощью YQL, но он имеет ограничение в 10 000 запросов в час, а система, которую я разрабатываю, будет иметь до 10 миллионов запросов в час. По этой же причине я не могу «прокси» на своем собственном сервере этих запросов ...
FYI: Я пытаюсь получить самые новые сообщения от SQS, поэтому, если есть все равно, чтобы сообщить об этом, чтобы вернуть данные в формате JSON, будет легче и лучше, но я не нашел ничего ни в документации ...
В форуме jQuery есть нить, заявляющая, что она не работает [forum-thread] (http://forum.jquery.com/topic/getting-xml-data-from- кросс-домен) Я надеюсь, что это поможет (его один год, но ...) –
Спасибо @winner_joiner! Я уже видел это. Просто я думал, что проблема связана с jQuery (я имею в виду, что jQuery не позволяет мне прочитать ответ). Я исследовал весь день, и теперь я знаю, что не могу этого сделать, и что он может быть наделен CORS, но SQS его не имеет. S3, SQS не ... спасибо за вашу помощь. – Cito