这是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访问控制允许来源不允许。
这里可以找到类似的主题,但它只涵盖输出为JSON的情况。
所以我的问题是,是否可以处理返回XML的跨域ajax请求,或者我是否必须绝对使用JSONP?
必须是JSONP,默认情况下跨域请求不允许使用XML。
然而,通过一点服务器端编程,您可以创建一个代理,并通过curl或类似的方法在您自己的域中的服务器端加载数据,并将其输出为XML。这样,你就可以访问自己域内的url,而不必从客户端进行跨域请求,它是"幕后"处理的。
您可以尝试http://enable-cors.org/.您可以在上查看支持CORS的浏览器列表http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing#Browser_support.