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>');

最后,请不要再减分了,这道题分数已经接近零了