我正在尝试向临时数据源发出AJAX jsonp请求以进行测试。这是我正在使用的代码:
$('#search').click(function (event) {
$.ajax({
url: "http://api.test.com/v1/",
type: "GET",
contentType: "application/json",
dataType: "jsonp",
data: {q:$("#keyword").val()},
timeout: 5000,
beforeSend: function () {
$('#content').fadeTo(500, 0.5);
},
success: function (data, textStatus) {
$('html, body').animate({
scrollTop: '0px'
}, 300);
$('#content').html(data.objects[0].category+'<br>'+data.objects[0].company);
},
error: function (x, t, m) {
if (t === "timeout") {
alert("Request timeout");
} else {
alert('Request error');
}
},
complete: function () {
$('#content').fadeTo(500, 1);
}
});
});
当我尝试运行命令时,我收到以下错误:
Uncaught SyntaxError:意外的令牌:
我一般都是jquery和ajax的新手,这让我很难过。我哪里出错?
答案 0 :(得分:4)
您正在使用的网址似乎不是JSONP服务。它返回了一个普通的JSON结构,并且不会为JSONP工作。
您需要为该服务找出替代API,即JSONP,或者从您的服务器查询。
答案 1 :(得分:0)
如果您使用JSONP
作为数据类型,它从服务器返回应该是这样的
jQuery111207659580435138196_1433210804043({"status" : "success"})