你能通过网址发送JSON吗?

时间:2011-07-08 20:56:26

标签: jquery ruby-on-rails ruby ajax json

我有一个ruby哈希,其中键是url,值是整数。我将哈希转换为JSON,我想知道我是否能够通过AJAX请求在URL中发送JSON,然后从params哈希中提取该JSON。

另外,我将把JSONifyed ruby​​哈希发送回客户端。如果我在我的AJAX函数中有成功回调,我在data变量中接收数据,我如何用JQuery解析JSON?

如果我需要更具体,请告诉我。

2 个答案:

答案 0 :(得分:11)

是的,你可以毫无问题。无需手动编码/解码!

您的代码将是这样的:

var jsonParam = '{"name":"Edgar"}'; //Sample json param
$.ajax({
  ...  
  type: "get", //This sends in url
  data: {jsonParam: jsonParam}, //This will encode your json for url automatically
  dataType: "json", //With this the response will be automatically json-decoded!
  success: function(response){ //Assuming your server output was '{"lastName":"Villegas"}' as string
     alert(response.lastName);
  }
});

如您所见,不需要手动编码/解码。 Jquery处理这一切!

希望这会有所帮助。干杯

PS:如果由于某种原因,您需要手动编码/解码您的json以使用javascript的encodeURIComponent(string)$.parseJSON(jsonString)方法。

答案 1 :(得分:1)

是的,您可以将json对象作为get或post参数传递。

为了使用Jquery解析json字符串,您可以使用$ .parseJSON。