Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态地将变量分配给dojo.xhrPost的content attr?_Javascript_Jquery_Ajax_Dojo - Fatal编程技术网

Javascript 如何动态地将变量分配给dojo.xhrPost的content attr?

Javascript 如何动态地将变量分配给dojo.xhrPost的content attr?,javascript,jquery,ajax,dojo,Javascript,Jquery,Ajax,Dojo,如何动态地将变量分配给dojo.xhrPost的content attr?下面是我的场景的代码和一些解释: 使用内容的硬编码值进行编码 dojo.xhrPost({ url: /esturl/, handleAs : "text", content : {INST1 : '{"0001" : "aa"}', INST2 : '{"0002" : "bb"}', INST3 : '{"0003" : "cc"}'} load : load(data)

如何动态地将变量分配给dojo.xhrPost的content attr?下面是我的场景的代码和一些解释:

使用内容的硬编码值进行编码

dojo.xhrPost({
url: /esturl/,
handleAs : "text",
content : {INST1 : '{"0001" : "aa"}',
            INST2 : '{"0002" : "bb"}',
            INST3 : '{"0003" : "cc"}'}
load : load(data),
error : error
});
内容属性中的INST的数量可以是最小1,最大6,到目前为止,我正在那里硬编码3对。 但是我想要一个
var
buildJason

var buildJson = function (){
}
这个
var将动态值填充到content attr
。 我的
“0001”“aa”
值来自

var element = dojo.query('input:checked');
element.id;
但是,每次用户选中不同的复选框时,都应该动态填充内容属性的用户选择值,对于如何实现这一点,有什么建议吗

更新

使用了
CastroXXL
建议的方法后,我收到了关于firebug的以下错误消息

missing : after property id
var myContent = {};\n

关于如何处理它有什么建议吗?

要构建JSON对象,可以使用下面的代码

var buildJson = function (name, value){
  var myJson = {};

  myJson[name] = value;

  return myJson;
};//Forgot the semicolon. 
一个脚本,将把这一点放在一起可以像下面

var myContent = {};
var count = 0;

dojo.query("input:checked").forEach(function(input){
  myContent['INST' + count] = buildJson(input.id, input.value);

  count++;
});

dojo.xhrPost({
  url: /esturl/,
  handleAs : "text",
  content : myContent,
  load : load(data),
  error : error
});
var test = {
  var myContent = {};
};
编辑: 当您执行以下操作时,就会出现该错误

var myContent = {};
var count = 0;

dojo.query("input:checked").forEach(function(input){
  myContent['INST' + count] = buildJson(input.id, input.value);

  count++;
});

dojo.xhrPost({
  url: /esturl/,
  handleAs : "text",
  content : myContent,
  load : load(data),
  error : error
});
var test = {
  var myContent = {};
};
您可以先关闭JSON对象,然后执行以下操作:

var test = {};
var myContent = {};
或者您可以使myContent在JSON中工作,如:

var test = {
  myContent:{}
};

我得到`缺少:在属性id var myContent={}之后\n关于firebug在使用了您建议的方法之后,不确定如何前进,任何建议都表明,当您已经在JSON对象中时,通常会发生该错误。最有可能是该行前面的代码导致了问题。你能给我看看吗?