SyntaxError:来自ajax post调用的JSON输入意外结束
我从我的ajax post调用接收到“SyntaxError:JSON输入的意外结束”,以将数据发送到我的serverlet进行处理。一切看起来都在运行——ajax正在将数据发送到servlet,而servlet正在正确地接收数据。我不明白解析器为什么抛出错误 我已经研究并尝试了StackOverFlow上的许多其他解决方案,但没有成功 感谢您的帮助和指点 干杯,史蒂夫 我的浏览器代码是:SyntaxError:来自ajax post调用的JSON输入意外结束,json,ajax,Json,Ajax,我从我的ajax post调用接收到“SyntaxError:JSON输入的意外结束”,以将数据发送到我的serverlet进行处理。一切看起来都在运行——ajax正在将数据发送到servlet,而servlet正在正确地接收数据。我不明白解析器为什么抛出错误 我已经研究并尝试了StackOverFlow上的许多其他解决方案,但没有成功 感谢您的帮助和指点 干杯,史蒂夫 我的浏览器代码是: function createDataset(){ var jsonObj = new Objec
function createDataset(){
var jsonObj = new Object();
jsonObj.display_drivername = document.getElementById('driver_namedb').value;
jsonObj.drive_seq1 = document.getElementById('drive_seq1').value;
return jsonObj;
}
function submit_claim() {
//Main code call
var JsonDataset = createDataset();
console.log(JsonDataset);
request = $.ajax({
url: '../wp-content/themes/u-design-child/deleteme.php',
type: 'POST',
// Fix - delete this line contentType:'application/json; charset=utf-8',
// Fix - delete this line dataType: 'JSON',
data: JsonDataset
});
}
deleteme.php中的服务器端测试代码:
//elog writes to error.log file
if(!empty($_POST['display_drivername'])) {elog ('Drivername found'.$_POST['display_drivername']);};
if(empty($_POST['display_drivername'])) {elog ('driver name empty');};
if(!empty($_POST['drive_seq1'])) {elog ('DSN found'.$_POST['drive_seq1']);};
if(empty($_POST['drive_seq1'])) {elog ('DSN empty');};
[06-Jan-2020 18:49:44 UTC] string(34) "Drivername foundSteve Parry [SPAR]"
[06-Jan-2020 18:49:44 UTC] string(13) "DSN found2438"
我得到的结果是:
Submit_Claim(JsonDataset)的控制台日志输出(在Chrome控制台中展开):
DeleteMe.php网络头中的表单数据:
display_drivername: Steve Parry [SPAR]
drive_seq1: 2438
错误日志(来自Deleteme.php):
编辑1:看到某人的评论,该评论现已消失,指出contenttype应该是contenttype。谢谢你,不管是谁,但这并没有改变问题
编辑2更改代码以反映解决方案通过完全删除contentType和dataType行,我最终使其工作正常
[06-Jan-2020 18:49:44 UTC] string(34) "Drivername foundSteve Parry [SPAR]"
[06-Jan-2020 18:49:44 UTC] string(13) "DSN found2438"