Междоменный ajax-запрос, возвращающий XML: Origin http: // ... не разрешен Access-Control-Allow-Origin - PullRequest
1 голос
/ 28 января 2012

Это часть jQuery, которая не работает для меня:

$.ajax({
  crossDomain: true,
  type: "POST",
  url: "https://www.testdatasolutions.com/reportgw",

  data: "ACCOUNT=creditreport123&PASSWD=asdj97sdf&PASS=2&PROCESS=PCCREDIT&NAME=Robert+Ice&SSN=891-42-3221&ADDRESS=111+W+8th+St&CITY=Fantasy+Island&STATE=IL&ZIP=60750&BUREAU=TU&PRODUCT=CREDIT&DEFAULTOUTPUT=XML"
})

 .done(function( msg ) {
  alert( "Data Saved: " + msg );
});

Ошибка вывода говорит:

XMLHttpRequest не может загрузить https://www.testdatasolutions.com/reportgw. Источник http://pmr.techforge.us не разрешен Access-Control-Allow-Origin.

Подобную тему можно найти здесь , но она охватывает только случаи, когда вывод находится в формате JSON.

Итак, мой вопрос: возможно ли обрабатывать междоменные запросы ajax, возвращающие XML, или я должен абсолютно использовать JSONP ?

Ответы [ 2 ]

1 голос
/ 28 января 2012

Это должен быть JSONP, XML не разрешен для междоменных запросов по умолчанию.

Однако, с небольшим программированием на стороне сервера, вы можете создать прокси-сервер и загружать данные с помощью curl или подобного нана стороне сервера в вашем собственном домене, и выведите его в виде XML.Таким образом, вы можете получить доступ к URL-адресу в своем собственном домене, и вам не нужно будет выполнять междоменный запрос от клиента, он обрабатывается «за кулисами».

0 голосов
/ 28 января 2012

Вы можете попробовать с http://enable -cors.org / .Вы можете проверить список браузеров, которые поддерживают CORS на http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing#Browser_support.

...