Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SyntaxError:来自ajax post调用的JSON输入意外结束_Json_Ajax - Fatal编程技术网

SyntaxError:来自ajax post调用的JSON输入意外结束

SyntaxError:来自ajax post调用的JSON输入意外结束,json,ajax,Json,Ajax,我从我的ajax post调用接收到“SyntaxError:JSON输入的意外结束”,以将数据发送到我的serverlet进行处理。一切看起来都在运行——ajax正在将数据发送到servlet,而servlet正在正确地接收数据。我不明白解析器为什么抛出错误 我已经研究并尝试了StackOverFlow上的许多其他解决方案,但没有成功 感谢您的帮助和指点 干杯,史蒂夫 我的浏览器代码是: function createDataset(){ var jsonObj = new Objec

我从我的ajax post调用接收到“SyntaxError:JSON输入的意外结束”,以将数据发送到我的serverlet进行处理。一切看起来都在运行——ajax正在将数据发送到servlet,而servlet正在正确地接收数据。我不明白解析器为什么抛出错误

我已经研究并尝试了StackOverFlow上的许多其他解决方案,但没有成功

感谢您的帮助和指点

干杯,史蒂夫

我的浏览器代码是:

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"