javascript - API : How to pass an array?的POST方法

标签 javascript jquery ajax

我的 API 请求添加特定内容,以添加以下格式的内容:

 {
  "name": "good night",
  "actions": "[{ \"deviceId\": \"c39181d52abe5555\", \"actionName\": \"turnOff\", \"params\": [], \"meta\": \"{}\" }, { \"deviceId\": \"f597c13717008fb1\", \"actionName\": \"armStay\", \"params\": [\"1234\"], \"meta\": \"{}\" }]",
  "meta": "{}"
}

所以我做了以下事情:

static postRoutine(nombre, action) {
      return $.ajax({
      url: api.routines.url,
      method: "POST",
      dataType: "json",
      timeout: api.timeout,
      data: {'name': nombre, 'actions': action, 'meta': "{}"},
      })
    }

我不知道如何构建“行动”?我的意思是它应该是一个内部有字符串的数组还是什么?

我正在这样做,但它不起作用:

 var actions = [];
 var action1 = "{ \\\"deviceId\\\":  "; "\\\"" + item1.id + "\\\", \\\"actionName\\\":  \\\"" + action + "\\\",  \\\"params\\\":  [], \\\"meta\\\": \\\"{}\\\" }";
 actions[0] = action1;
 api.routines.postRoutine(rut_name, actions).done(function(data){
                              ...//blah blah blah
                             });

基本上,我将一个字符串放入操作的第一个位置并将操作传递给方法。

更新:这就是有效的

 var actions = [{"deviceId": item1.id, "actionName": action, "params": [], "meta": "{}"];

最佳答案

尝试JSON.stringify()

var arrActions  = [{deviceId: 'c39181d52abe5555'}];
var strActions = JSON.stringify(arrActions);
console.log(strActions, typeof strActions);

关于javascript - API : How to pass an array?的POST方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50322580/

相关文章:

java - AJAX Servlet 调用非法状态异常

javascript - 需要使用 DevExpress 按钮停止 e.processOnServer 的 SetEnabled(false) 解决方法

javascript - 如何编写jquery Accordion 脚本?

javascript - 使用 AppendTo 显示来自 javascript 的内容

javascript - 在 AJAX 中使用 PHP 变量

javascript - 如何通过 Ajax 传递多个变量?

jQuery 移动 ajax 导航

javascript - jQuery 在添加元素之前表现得很奇怪

javascript - 为什么 `1vh` CSS 大小解析为屏幕上不同的像素大小

javascript - 页面加载时设计表格