Ajax 调用 CORS 禁用服务
Ajax calls to a CORS disabled service
是否可以使用 javascript 从禁用 CORS 的网络服务中使用数据,只有 returns XML 数据(json/jsonp 没有选项)及以上HTTPS?我无法控制此网络服务进行更改。
充其量,如果我运行以下 ajax 我会看到一个 xml 响应被发回(使用 Chrome 的开发者工具)但是我的成功功能没有被击中,我'最终会出现异常 'Unexpected syntax <',因为它期待 json 填充响应。
如果我将 dataType 更改为 'xml',我将收到一个错误 "Access-Control-Allow-Origin" not found in header 响应。这是我想要的,因为他们没有启用 CORS。
$.ajax({
url: 'https://' + myURL + querystring,
username: usr,
password: pwd,
dataType:'jsonp text xml',
type: 'GET',
success: function (data) {
console.log( "success" );
},
cache: false,
contentType: false,
processData: false
});
不直接。
您可以编写自己的与之交互的网络服务,然后从 JavaScript 访问您的服务。
您提到过,当使用 dataType
jsonp
时,我会 response.I 猜测网络服务支持 jsonp
,否则, $.ajax 无法获取响应文本。然后,您提到:
'Unexpected syntax <' because it's anticipating a json padded response
jquery 中 jsonp
的 dateType 会强制将响应文本从纯文本转换为 json 对象,但不幸的是响应文本是 returned格式为 XML.
既然webservice支持jsonp
并且jquery要求jsonp
必须是return格式的json,为什么不用原生的javascript 解决它?
function parseXml(xml) {
console.log('the return xml ',xml);
}
document.write('<script type="text/javascript" src="https://xxxx?param=xx&callback=parseXml"><\/script>');
最后,请不要再减分了,这道题分数已经接近零了
是否可以使用 javascript 从禁用 CORS 的网络服务中使用数据,只有 returns XML 数据(json/jsonp 没有选项)及以上HTTPS?我无法控制此网络服务进行更改。
充其量,如果我运行以下 ajax 我会看到一个 xml 响应被发回(使用 Chrome 的开发者工具)但是我的成功功能没有被击中,我'最终会出现异常 'Unexpected syntax <',因为它期待 json 填充响应。
如果我将 dataType 更改为 'xml',我将收到一个错误 "Access-Control-Allow-Origin" not found in header 响应。这是我想要的,因为他们没有启用 CORS。
$.ajax({
url: 'https://' + myURL + querystring,
username: usr,
password: pwd,
dataType:'jsonp text xml',
type: 'GET',
success: function (data) {
console.log( "success" );
},
cache: false,
contentType: false,
processData: false
});
不直接。
您可以编写自己的与之交互的网络服务,然后从 JavaScript 访问您的服务。
您提到过,当使用 dataType
jsonp
时,我会 response.I 猜测网络服务支持 jsonp
,否则, $.ajax 无法获取响应文本。然后,您提到:
'Unexpected syntax <' because it's anticipating a json padded response
jquery 中 jsonp
的 dateType 会强制将响应文本从纯文本转换为 json 对象,但不幸的是响应文本是 returned格式为 XML.
既然webservice支持jsonp
并且jquery要求jsonp
必须是return格式的json,为什么不用原生的javascript 解决它?
function parseXml(xml) {
console.log('the return xml ',xml);
}
document.write('<script type="text/javascript" src="https://xxxx?param=xx&callback=parseXml"><\/script>');
最后,请不要再减分了,这道题分数已经接近零了