簡體   English   中英

JSON.stringify沒有序列化對象

[英]JSON.stringify is not serialiizing the object

我試圖通過傳遞序列化的json對象並將其分配給ajax調用的data屬性來進行ajax調用。 但是在將序列化的對象分配給數據屬性控制時,有些事情不合適,它轉到jquery-2.0.3.min.js文件

<script type="text/javascript">
    function AddEmployee() 
    {


        var Product = new Object();
        Product.Name = "kRISH";
        Product.Price = "23";
        Product.Category = "AS";

        $.ajax
        ({
            url: 'http://localhost:62310/api/products',
            type: 'POST',
            data: JSON.stringify(Product),
            contentType: "application/json;charset=utf-8",
            success: function (data){ WriteResponse(data);},
            error: function (x, y, z){ alert(x + '\n' + y + '\n' + z);}
        });
    }
</script>

您想要序列化一個具有屬性Product的對象,那么您需要

data: JSON.stringify( {Product : Product} )

或者您只想序列化您的產品,那么您需要

data: JSON.stringify(Product)

順便說一句,您的對象初始化可以重寫為:

var Product = {
  Name : "kRISH",
  Price : "23",
  Category : "AS"
};

Product : Product不是對象。

您應該將其替換為實際對象:

$.ajax
    ({
        url: 'http://localhost:62310/api/products',
        type: 'POST',
        data: JSON.stringify({Product : Product}),
        contentType: "application/json;charset=utf-8",
        success: function (data){ WriteResponse(data);},
        error: function (x, y, z){ alert(x + '\n' + y + '\n' + z);}
    });

http://jsfiddle.net/floo51/x52GX/

做就是了

var json_text = JSON.stringify(Product, null, 2);

 $.ajax
        ({
            url: 'http://localhost:62310/api/products',
            type: 'POST',
            data: json_text ,
            contentType: "application/json;charset=utf-8",
            success: function (data){ WriteResponse(data);},
            error: function (x, y, z){ alert(x + '\n' + y + '\n' + z);}
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM