javascript - 如何在ajax请求中生成动态数据对象

标签 javascript jquery ajax multidimensional-array

https://jsfiddle.net/c7n34e3x/1/data/data1/data2 中只有 data 有效,但它不是动态的

这行得通

  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}} 这也行不通

这是一个带有临时标记的 fiddle https://jsfiddle.net/c7n34e3x/

最佳答案

你试过这样吗?

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 .它每次都可以使用适当的凭据。

关于javascript - 如何在ajax请求中生成动态数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43403614/

相关文章:

javascript - 在 HTML 文件中加载 JavaScript 会在本地环境中引发跨源请求错误,仅适用于 ES6 模块,而不适用于旧 JS,为什么?

javascript - 如何使用 JavaScript 检测手持设备 iOS 浏览器?

javascript - 在 Firefox 中从多个 Iframe 提交表单

javascript - 可以从文件上传输入获取文件 data/val 并使用 Ajax 请求将其发送到服务器

javascript - jQuery + Flowplayer : flowplayer cannot access element

javascript - 当使用 ajax 获取 php 文件时,使用来自另一个文件的 PHP 变量

javascript - 使用原始 Javascript 创建 Lucky 7 的游戏,我做错了什么?

ajax - 在处理 POST 请求时确定谁在 Node 上使用 basicAuth 进行了身份验证

javascript - 从远程 html 页面加载 div 并将其附加到当前页面

javascript - 我可以控制 javascript/jQuery 事件触发的顺序吗?