来自$.ajax而非$.post的jquery 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:

这段代码给了我一个json解析错误:

$(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;