SyntaxError:JSON.parse:意外的数据结束

时间:2014-04-02 08:25:59

标签: jquery json parsing

我尝试使用ajax将数据添加到数据库。我准备数据:

$(".panel").on('click','.buttons_save',function() {
    groupIdD = this.id;
    groupNameD=$("#groupName").val();
    groupDescriptionD=$("#groupDescription").val();
    paramGroupD=$("#paramGroup").val();
    paramOrderD=$("#paramOrder").val();

    $.ajax({
        dataType: "json",
        type: "POST",
        url: ajaxSetGroupParams,
        data: { 
            groupId: groupIdD,
            paramGroup: groupNameD,
            groupName: groupDescriptionD,
            groupDescription: paramGroupD,
            paramOrder: paramOrderD
        }
    })

    .done(function() {
        alert( "success" );
    })
    .fail(function(XMLHttpRequest, textStatus, errorThrown) {
        console.log(XMLHttpRequest);
        console.log(textStatus);
        console.log(errorThrown);
    })


});

我将这些数据添加到数据库(一切正常,数据被添加到数据库)。 $ polaczenie_z_baza = $ _ SESSION [ '分贝'] [ 'connectObjs'] [ '系统'];

$id_group=$_REQUEST['groupId'];
$paramGroup=$_REQUEST['paramGroup'];
$groupName=$_REQUEST['groupName'];
$groupDescription=$_REQUEST['groupDescription'];
if (isset($_REQUEST['paramOrder'])) {
    $paramOrder=$_REQUEST['paramOrder'];
}
else {
    $paramOrder=0;
}

$qUpdateData    = '
UPDATE
`grupy_parametrow_konfiguracyjnych`
SET
`id_grupa_nadrzedna` ='.$paramGroup.',
`nazwa_grupy` = '.$groupName.',
`opis_grupy` = '.$groupDescription.',
`kolejnosc` ='.$paramOrder.'
WHERE
`id_grupa_parametrow` = '.$id_group; 

$result = stdIUDQuery( $qUpdateData, $polaczenie_z_baza);

但我总是有失败的信息:

parsererror
SyntaxError: JSON.parse: unexpected end of data

return window.JSON.parse( data );

2 个答案:

答案 0 :(得分:3)

这将会发生,因为你的服务器没有返回JSON,但你告诉jQuery它是。由于您未在完成处理程序中使用服务器响应的内容,因此您只需从dataType: "json",来电中删除$.ajax

答案 1 :(得分:0)

3个想法还可以调试错误。

Firefox

  1. 将响应保存在记事本中为idea.json
  2. 在firefox中打开
  3. 它将告诉您是否是好的json。

B console.log(变量。构造函数)

使用console.log(variable_name.constructor)检查是字符串还是json;

C检查正确的行

检查所有JSON.parse行,我的问题是20分钟后检查了错误的行。