2013-12-16 31 views
1

我想通过传递序列化的json对象并将其分配给ajax调用的data属性来执行ajax调用。 但有些事情是不恰当的数据属性控制分配序列化对象去jQuery的2.0.3.min.js文件JSON.stringify不是序列化对象

<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

数据:JSON.stringify(产品:产品)? –

+0

你的语法有问题。 JSON.stringify(产品:产品)。它应该像JSON.stringify(产品),其中产品是JSON对象。 –

+0

你可以指定教程,可以获得我的知识在web api,jquery,json –

回答

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);} 
     }); 
+0

为什么在只传输到服务器时使用漂亮的打印? – Sirko

+0

你可以指定的教程,可以获得我的知识在web api,jquery,json –

+0

@SunilJadhav:https://developer.mozilla.org是你的朋友 对于JSON,它是https://developer.mozilla.org/ en/docs/JSON 对于Jquery,JQuery文档很好 –

1

要么你想序列化一个对象与属性Product,那么你需要

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

,或者你只是想序列化你的产品,那么你需要

data: JSON.stringify(Product) 

BTW你的对象初始化可以改写为:

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

请重新检查我发布了一个错误,同时发布question.JSON.stringify(产品)也不执行。它去jQuery-2.0。 3.min.js文件 –

+0

你可以指定教程,可以获得我的知识在web api,jquery,json –

+0

@SunilJadhav网上应该有很多,你应该能够找到他们使用谷歌。我建议先从各自的[jQuery Docu](http://api.jquery.com/jQuery.ajax/)或一般[MDN](https://developer.mozilla.org/en/docs/JSON )。 – Sirko

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);} 
    }); 

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

+0

请重新检查我在发布问题时发生了错误。\ –

+0

请重新检查我在发布问题时犯了一个错误。 –