使用jquery ajax传递json对象

使用jquery ajax传递json对象,jquery,Jquery,尝试回到这里的基础,通过ajax将JSON对象发送到我的php。我甚至不能进入这一部分,因为我得到了一个JSON错误。以下是jquery代码: jQuery(".deletebutton").on("click", function() { var employees = [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }

尝试回到这里的基础,通过ajax将JSON对象发送到我的php。我甚至不能进入这一部分,因为我得到了一个JSON错误。以下是jquery代码:

jQuery(".deletebutton").on("click", function() {

        var employees = [
        { "firstName":"John" , "lastName":"Doe" },
        { "firstName":"Anna" , "lastName":"Smith" },
        { "firstName":"Peter" , "lastName": "Jones" }
        ];

        var dataString = JSON.stringify(employees);

        // Lets put our stringified json into a variable for posting
        var postArray = {json:dataString};

        jQuery.ajax({
            type: 'POST',
            url: 'index.php?option=com_recordings&task=deletevideos&format=raw',
            data: postArray,
            dataType: 'json',
            success: function(data){
                if (data == "blah")
                    alert(data);

            }
        });
});

我得到了这个错误(当我检查
错误抛出时):SyntaxError:JSON.parse:意外字符。我通过jsonlint.com检查了它是否是有效的JSON。我做错了什么?

您发布的是js对象,而不是json。您必须发布字符串化的json

data: dataString

dataType
指的是请求头,而不是响应。如果您没有发送回有效的JSON,jQuery将不喜欢它。您希望发送JSON,但可能希望返回其他内容。只需删除
数据类型
,它就会正常工作,除非服务器脚本出错。

更改为 数据:dataString

而且不会发生任何问题