ja próbuje zrobić żądania AJAX do innej domeny, to już działa, ale teraz mam inny problem ...Otrzymuj odpowiedzi XML z Cross-Domain Ajax żądanie jQuery
To jest mój kod:
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);
}
});
}
Jak już powiedziałem, to już działa, ale problem polega na tym, że serwer zwraca XML (nie jest moim serwerem, jest innym serwerem innej firmy - usługą sieciową - więc nie mogę zmienić tego, co zwraca) i jak jsonp spodziewa się błędu json z błędem:
SyntaxError: syntax error
<?xml version="1.0"?><ReceiveMessageResponse xmlns="http://q ... />
Zgodnie z dokumentacją jQuery, dodanie jsonp text xml
powinno uczynić magię, konwertując odpowiedź na prosty tekst, a następnie analizując ją jako XML, ale to nie działa.
Byłem już w stanie zrobić to za pomocą YQL, ale ma limit 10.000 zgłoszeń na godzinę, a system, który rozwijam, ma do 10 milionów żądań na godzinę. Z tego samego powodu nie mogę "proxy" w moim własnym serwerze tych żądań ...
FYI: Próbuję uzyskać najnowsze wiadomości od SQS, więc jeśli jest tak, aby powiedzieć, aby zwrócić dane jako JSON, będzie łatwiej i lepiej, ale nie znaleźliśmy niczego albo w dokumentacji ...
na forum jQuery jest wątek stwierdzający, że nie działa [wątek forum] (http://forum.jquery.com/topic/getting-xml-data-from- między domenami) mam nadzieję, że pomaga (jego roczek, ale ...) –
Dzięki @winner_joiner! Już to widziałem. Po prostu myślałem, że jest to problem związany z jQuery (to znaczy, jQuery unika mnie do przeczytania odpowiedzi). Badałem cały dzień i wiem, że teraz nie mogę tego zrobić, i że można go donować z CORS, ale SQS go nie ma. S3 ma, SQS nie ... dziękuje za twoją pomoc. – Cito