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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SyntaxError:来自ajax发布调用的JSON输入意外结束相关的知识,希望对你有一定的参考价值。

我从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',
            contentType:'application/json; charset=utf-8',
            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');;  

我得到的结果是:

从Submit_Claim(JsonDataset)(在Chrome控制台中扩展)的控制台日志输出:

display_drivername: "Steve Parry [SPAR]", drive_seq1: "2438"
display_drivername: "Steve Parry [SPAR]"
drive_seq1: "2438"
__proto__: Object

来自DeleteMe.php网络标题的表格数据:

display_drivername: Steve Parry [SPAR]
drive_seq1: 2438

错误日志(来自Deleteme.php):

[06-Jan-2020 18:49:44 UTC] string(34) "Drivername foundSteve Parry [SPAR]"
[06-Jan-2020 18:49:44 UTC] string(13) "DSN found2438"

编辑1:看到一个已经消失的人的评论,指出contenttype应该是contentType。谢谢你,无论如何,这并没有改变问题。

答案

通过完全删除contentType和dataType行,最终使它可以正常工作。

以上是关于SyntaxError:来自ajax发布调用的JSON输入意外结束的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 JSONP 的 AJAX 未捕获的 SyntaxError 和 CORS 错误

来自 AJAX 调用的 res.redirect

Mailchimp mc-validate.js 拦截网站的 ajax 请求

Rails/Jquery Ajax - SyntaxError: Unexpected identifier, but JSON is Valid

SyntaxError:JSON.parse:意外字符在我的控制台中?

ReactNative - 未处理的 JS 异常:SyntaxError