来自$.ajax而非$.post的jquery json解析错误
这段代码给了我一个json解析错误:来自$.ajax而非$.post的jquery json解析错误,jquery,ajax,json,Jquery,Ajax,Json,这段代码给了我一个json解析错误: $(document).on('ready', function() { $("#q").on('keyup', function(){ $.ajax({ url: 'newsearch.php', dataType: 'json', type: 'POST', timeout:
$(document).on('ready', function() {
$("#q").on('keyup', function(){
$.ajax({
url: 'newsearch.php',
dataType: 'json',
type: 'POST',
timeout: 125,
data: {q:$("#q").val()},
success: function(jsonData){
var responseData = $.parseJSON(jsonData);
parseSearchResults(responseData);
},
error: function() {
console.log("Error");
}
});
});
});
当此代码不存在时:
$(document).on('ready', function() {
var filterTimeout;
$("#q").keyup(function (event) {
clearTimeout(filterTimeout);
filterTimeout = window.setTimeout(function () {
$.post("newsearch.php", {q: $("#q").val()}, function (jsonData) {
var contactData = $.parseJSON(jsonData);
parseSearchResults(contactData);
});
}, 125);
});
});
这是我的json字符串:
{“A”:[{“主电子邮件地址”:”someemail@gmail.com,“备用电子邮件地址”:someemail@email.com,“个人地址”第1行:“西大街123号”;“个人地址”;“城市”;“博因顿海滩”;“生日”;“十月”;“个人地址”;“邮编”;“33324”;“家庭电话号码”;“1111”;“公司电话号码”;“1111”;“手机号码”;“1111”,“生日日”:“19”,“生日年”:“1982”}
因为您指定了dataType:'json'
,jQuery自动将其解析为json,导致$.parseJSON
调用失败(因为数据不再是有效的json字符串,而是JavaScript对象)
只需使用:
var responseData = jsonData;
因为您指定了
dataType:'json'
,jQuery自动将其解析为json,导致$.parseJSON
调用失败(因为数据不再是有效的json字符串,而是JavaScript对象)
只需使用:
var responseData = jsonData;