向外部提要调用添加回调时出现“未捕获的SyntaxError: Unexpected token <”

“Uncaught SyntaxError: Unexpected token <” when adding callback to external feed call

本文关键字:SyntaxError 未捕获的 Unexpected token 调用 外部 添加 回调      更新时间:2023-09-26

我正试图从另一个网站拉密码保护的xml提要,但我得到以下错误:

"Uncaught SyntaxError: Unexpected token <"

我修复了我以前通过添加回调函数获得的原点访问错误,但现在我得到了这个未捕获的语法错误。

我的代码是:
$.ajax({
    url: 'http://xxx.php?&callback=?',
    dataType: 'jsonp',
    type: 'POST',
    username: 'xxxxx',
    password: 'xxxxx',
    crossDomain : true,
    xhrFields: {
        withCredentials: true
    }
});

当我检查错误时,我可以看到'denied'应该是:错误的屏幕截图

知道为什么这个不工作吗?我需要从提要提供程序请求一些东西吗?或者在我的代码中缺少/不正确的东西?

您尝试加载xml并使用dataType: 'jsonp'。jQuery不能处理响应,因为你告诉$.ajax函数使用响应作为JSONP。因此,响应<的第一个字符是意外的。

dataType: 'xml'代替。

denied似乎也来自一个错误的登录。您确定usernamepassword选项适合您吗?我用这种方法有很多问题。我更愿意将您的登录更改为使用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'));
    }
});