我尝试使用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 );
答案 0 :(得分:3)
这将会发生,因为你的服务器没有返回JSON,但你告诉jQuery它是。由于您未在完成处理程序中使用服务器响应的内容,因此您只需从dataType: "json",
来电中删除$.ajax
。
答案 1 :(得分:0)
3个想法还可以调试错误。
Firefox
B console.log(变量。构造函数)
使用console.log(variable_name.constructor)检查是字符串还是json;
C检查正确的行
检查所有JSON.parse行,我的问题是20分钟后检查了错误的行。