我的Ajax请求代码:
$(window).ready(function () {
var $form = $(document).find('#name-form');
var $display = $(document).find('#display');
$form.on('submit', function (e) {
e.preventDefault();
var name = $form.find('#name').val();
var surname = $form.find('#surname').val();
var patronymic = $form.find('#patronymic').val();
var year = $form.find('#year').val();
var request = $.ajax({
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
dataType: 'jsonp',
method: 'get',
jsonp: false,
jsonpCallback: "localJsonpCallback",
url: 'http://127.0.0.1:8885/search?app=potato',
data : {
name: name,
surname: surname,
patronymic: patronymic,
year: year,
}
});
function localJsonpCallback(json) {
if (!json.Error) {
$('#display').submit();
}
else {
$('#display').show();
alert(json.Message);
}
}
});
});
此代码发送请求,这是肯定的。但是当它获得JSON时,控制台会写错误Unexpected token ':'. Parse error.
我只需要在div中显示这个json或它的内容。
响应JSON是:
{
"Report": "http://127.0.0.1:8099/chicken/eggs.html",
"Exist": true
}
有什么问题?
答案 0 :(得分:2)
你告诉jQuery你想要JSONP,但是服务器正在返回JSON。
由于jQuery处理JSONP的方式,普通的JSON被视为javascript,因此您获得的错误实际上是浏览器的javascript解释器抛出的语法错误。 / p>