【问题标题】:how to make dynamic data objects in ajax requests如何在ajax请求中制作动态数据对象
【发布时间】:2017-09-10 05:53:59
【问题描述】:

https://jsfiddle.net/c7n34e3x/1/ out of data / data1 / data2data 有效,但不是动态的

这行得通

  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://domain/api/v2/playlists/",
    "method": "POST",
    "headers": {
      "content-type": "application/json",
      "cache-control": "no-cache",
    },
    "processData": false,
    "data": "{\"playlist_content\" :{\"content_id\" : \"ef0a30ef-3198-4ce6-8927-e390257776ed\"}}"
  }

但我需要像下面这样动态的数据.. 见content_id

  var content_id = $(this).val();
  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://domain/api/v2/playlists/",
    "method": "POST",
    "headers": {
      "content-type": "application/json",
      "cache-control": "no-cache",
    },
    "processData": false,
    "data": "{\"playlist_content\" :{\"content_id\" : \""+content_id+"\"}}"
  }

但这不起作用。我该怎么做才能动态创建数据设置?使用语法高亮可能会更好地阅读。

"data": {"playlist_content" : {"content_id" : content_id}}这也不行

这是一个带有临时令牌https://jsfiddle.net/c7n34e3x/的小提琴

【问题讨论】:

  • 这是由于$(this).val(),它必须返回错误的东西,您将content_id正确附加到settings.data字段中
  • 即使我将var content_id = $(this).val() 更改为var content_id = 123456 它也不起作用
  • 然后在我的控制台上显示错误。
  • “它不起作用” 不是正确的技术问题陈述。哪一部分不行?您的错误处理表明了什么?如果返回响应,它会告诉您什么?

标签: javascript jquery ajax multidimensional-array


【解决方案1】:

你试过这样吗?

var content_id = $(this).val();
var data = JSON.stringify({"playlist_content" : {"content_id" : content_id}});
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://domain/api/v2/playlists/",
  "method": "POST",
  "headers": {
    "content-type": "application/json",
    "cache-control": "no-cache",
  },
  "processData": false,
  "data": data
}

好的,按照 JSFiddle 演示更新代码 here。它每次都使用适当的凭据。

【讨论】:

  • 那个对象不是json,需要字符串化
  • 如果我做对了。我得到一个成功的响应......如果我做错了,那么我会得到混合域错误
  • stringify 导致此错误422 (Unprocessable Entity)
  • 我会做一个 jsfiddle...不要离开 :)
  • jsfiddle.net/c7n34e3x ok var data 有效,但是当我尝试使它像var data1 一样动态时...它不起作用
猜你喜欢
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多