我试图通过传递序列化的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>
答案 0 :(得分:1)
要么使用属性Product
序列化对象,则需要
data: JSON.stringify( {Product : Product} )
或者您只想序列化您的产品,然后您需要
data: JSON.stringify(Product)
btw你的对象初始化可以改写为:
var Product = {
Name : "kRISH",
Price : "23",
Category : "AS"
};
答案 1 :(得分:1)
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);}
});
答案 2 :(得分:0)
只做
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);}
});