【发布时间】:2017-10-04 12:47:35
【问题描述】:
问题:
Uncaught SyntaxError: Unexpected token
我尝试了什么
请求:Jsonp
响应:返回 XML 响应 200。
跨域请求这就是为什么使用数据类型:jsonp
脚本代码:
$.ajax({
url: "some url",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
type: "POST", /* or type:"GET" or type:"PUT" */
data:myusername,
crossDomain: true,
dataType: 'jsonp',
data: {
'name':myusername
},
success: function (result) {
console.log(result);
},
error: function () {
console.log("error");
}
//});
});
这里的 AJAX 响应是 XML。
但是有人可以告诉我如何解决意外的令牌问题。
响应是 XML。
我找到的解决方案是第三方请求
var urljson='cross-damin-url';
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' +
encodeURIComponent('select * from xml where url="' + urljson + '"') +
'&format=xml&callback=?';
$.getJSON(yql, function (data) {
console.log(data.results[0]);
});
欢迎提出任何建议。
【问题讨论】:
-
响应是 XML,您正在尝试将其解析为 JSON。你希望这能奏效……为什么?
-
我正在尝试解析 xml 而不是 json
-
当您将响应数据类型设置为
json或jsonp时,jquery 将尝试为您解析它。由于我希望现在显而易见的原因,它因解析错误而失败。另请注意,jsonp 本质上是不安全的。如果跨域资源没有 CORS 标头,您可能只想通过自己的域进行管道传输。 -
我投票结束这个问题,因为“不清楚你在问什么”。如果您可以将其编辑为连贯一致,我将删除投票。我认为您要问的是“我如何 CORS ajax 请求?”、“如果另一个域上的资源没有 CORS 标头,我该怎么办?”和“如何解析来自 ajax 调用的 xml 响应?”。请提出一个单一、明确的问题。
-
任何人都可以建议使用js在跨域请求中出现任何错误获取xml结果的最佳方法
标签: javascript jquery