跨域ajax请求返回XML:Access-Control-Allow-Origin不允许使用Origin http:// …

这是一个不适合我的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 。 Access-Control-Allow-Origin不允许来源http://pmr.techforge.us 。

可以在此处找到类似的主题,但它仅涵盖输出为JSON的情况。

所以我的问题是,是否可以处理返回XML的跨域ajax请求,或者我绝对必须使用JSONP

它必须是JSONP,默认情况下不允许XML用于跨域请求。

但是,通过一些服务器端编程,您可以创建代理并通过curl或类似的方式在您自己的域中的服务器端加载数据,并将其输出为XML。 这样您就可以访问自己域中的URL,而不必从客户端执行跨域请求,它将在“幕后”处理。

您可以尝试使用http://enable-cors.org/ 。 您可以在http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing#Browser_support上查看支持CORS的浏览器列表。