Javascript JQuery:';未捕获类型错误:非法调用';构建JSON

Javascript JQuery:';未捕获类型错误:非法调用';构建JSON,javascript,jquery,json,Javascript,Jquery,Json,我的代码如下。我试图构建一个json来传递一个url,该url接受json字符串作为 { "Item":{ "Id":"e2b249d1", "Name":"aaaa" }, "Status":1 } 我的职能: var AddEditItem = function (itemid, itemname, status) { var itemdata = { "item": { "Id": i

我的代码如下。我试图构建一个json来传递一个url,该url接受json字符串作为

{
    "Item":{
        "Id":"e2b249d1",
        "Name":"aaaa"
    },
    "Status":1
}
我的职能:

var AddEditItem = function (itemid, itemname, status) {
    var itemdata = {
        "item": {
            "Id": itemid,
            "Name": itemname
        },
        "Status": status
    };

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: url,
        data: itemdata,
        dataType: "json",
        success: function(response) {},
        error: function(response) {}
    });
};
我出错了

JQuery:“未捕获类型错误:非法调用”


有什么帮助吗?

您应该在发送到ajax之前序列化该对象

使用
JSON.stringify()
进行此操作

itemdata= JSON.stringify(itemdata);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: url,
data: itemdata,
dataType: "json",
success: function(response) {},
error: function(response) {}
});

服务器函数是什么样子的?您需要确认传递到AddEditItem的参数值是简单的值,而不是一些复杂的HTML DOM元素等。如果在ajax调用之前放置
console.log(itemdata)
,它显示了什么?您如何调用此函数<代码>添加项这是一项wcf服务。我发送json,正如我在问题中所写的;未捕获类型错误:将循环结构转换为jsonimdata=JSON.stringify(itemdata);您的示例没有隐式定义变量