我试图从另一个网站提取受密码保护的xml提要,但出现以下错误:
“未捕获的SyntaxError:意外的令牌
我通过添加回调函数修复了以前遇到的原始访问错误,但现在却遇到了这个未捕获的语法错误。
我的代码是:
$.ajax({
url: 'http://xxx.php?&callback=?',
dataType: 'jsonp',
type: 'POST',
username: 'xxxxx',
password: 'xxxxx',
crossDomain : true,
xhrFields: {
withCredentials: true
}
});
当我检查错误时,我只能看到Feed的位置被“拒绝”:screen shot of error
任何想法为什么这不起作用?我是否需要向Feed提供商提出要求?还是我的代码中缺少/不正确的东西?
最佳答案
您尝试加载xml
并使用dataType: 'jsonp'
。 jQuery无法处理响应,因为您告诉$.ajax
函数将响应用作JSONP
。因此,响应<
的第一个字符是意外的。
请改用dataType: 'xml'
。denied
似乎也来自错误的登录。您确定username
和password
选项对您有用吗?用这种方式我遇到很多问题。我希望将您的登录名更改为使用beforeSend
,如下所示:
$.ajax({
url: 'http://xxx.php?&callback=?',
dataType: 'xml',
type: 'POST',
crossDomain : true,
xhrFields: {
withCredentials: true
},
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + btoa('username:password'));
}
});
关于javascript - 向外部供稿调用添加回调时出现“Uncaught SyntaxError:意外 token <”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39486290/