【问题标题】:posting a javascript array as a an array of JSON objects将 javascript 数组发布为 JSON 对象数组
【发布时间】:2017-10-31 16:51:48
【问题描述】:

我通过 jQuery ajax 请求向 Rails 控制器发布一组 json 对象。我需要使用 JSON.stringify 还是应该由 jQuery 为我处理?

  var vals = [{"name":"item name #1"},{"name":"item name #2"}];
  $.ajax({
    url: '/arc/api/v1/calculate_items',
    type: 'POST',
    data: {line_items: vals},
    dataType: 'json'
  }).done(function(r){

  var vals = [{"name":"item name #1"},{"name":"item name #2"}];
  $.ajax({
    url: '/arc/api/v1/calculate_items',
    type: 'POST',
    data: {line_items: JSON.stringify(vals)},
    dataType: 'json'
  }).done(function(r){

【问题讨论】:

  • 您是否同时检查了两种方式?哪一个适合你?
  • 使用 JSON.stringify 似乎有效,但想听听更确定的内容。

标签: jquery ruby-on-rails json


【解决方案1】:

我需要使用 JSON.stringify 吗?

您需要先使用JSON.stringify 将您的对象(或对象数组)serialize 转换为 JSON,然后指定内容类型,以便您的服务器理解它是 JSON。

jQuery 为我处理它?

不,不是。

有两个 jQuery 方法可以自动完成,getJSONpost

$.getJSON("/some/url", function(data) { 
   // the data is already a plain JSON object
})


var data = /* Your data in JSON format - see below */;
$.post("/some/url", data, function(returnedData) {
  // the returnedData is already a plain JSON object    
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2019-05-20
    相关资源
    最近更新 更多