API调用:未捕获的SyntaxError:意外的令牌:

时间:2017-08-23 11:35:27

标签: jquery json ajax

我正在运行ajax调用以从API获取一些数据。呼叫本身工作正常,我得到200(OK)作为回应。我也可以在我的开发工具中看到JSON数据。但最后警报是"错误"我在我的控制台中有一个" Uncaught SyntaxError:Unexpected token:"

那里出了什么问题?

$.ajax({
                url: 'my url',
                type:'GET',
                xhrFields: {
                    withCredentials: true
                },
                cache: false,
                dataType: 'jsonp',
                contentType: 'application/x-www-form-urlencoded',

                // headers: {
                //     'Authorization': 'Basic ' + btoa('uberall:cat-aspirin-window-cake')
                // },
                beforeSend: function (xhr) {
                    xhr.setRequestHeader('Authorization', 'Basic ' + btoa(user + ":" + pw));
                },

                success: function(text) { alert('success'); },
                error: function (text) { alert('error'); },
                complete: function(text) { alert('complete'); }
            });

1 个答案:

答案 0 :(得分:0)

如果你正在使用jsonp,你应该实现一个回调方法,似乎你错过了它。

您可以首先尝试通过将以下函数替换为错误字段来打印错误,看看它是否缺少jsonpCallback或其他错误

error:function(jqXHR, textStatus, errorThrown){
    console.log("jqXHR",jqXHR);
    console.log("textStatus",textStatus);
    console.log("errorThrown",errorThrown);
}

如果是jsonp你应该检查服务器端看看应该是什么回调,但你不知道,你可以尝试添加尽可能多的服务器设置这是默认的

注意:这不是一个好的实践

jsonp: 'callback'

并参考JSONP NOT CALL