当我使用dojo.xhrGet
时,我会以这种方式通过GET
dojo.xhrGet
({
url:"MyServerPageURL?Param_A="+"ValueA"+"&Param_2="+"Value2",
load: function(data)
{
//do something
},
preventCache: true,
sync: true,
error: function(err)
{
alert("error="+err);
}
});
当我必须使用dojo.xhrPost
时,我怎么能做类似的事情(发送多个参数)?
答案 0 :(得分:6)
除非要发送原始POST字符串,否则不希望使用postData参数。您通常希望使用'content'参数。例如:
dojo.xhrPost({
url: 'http://whatever...',
contents: {
ParamA: 'valueA',
ParamB: 'valueB'
},
load: function(response) {
// ...
}
});
注意:使用'contents'也适用于xhrGet,无需自己构建查询字符串并附加到URL。
答案 1 :(得分:4)
尝试使用postData参数。 E.g:
var myParameters= {"Param_A":"Value_A", "Param_B":"Value_B"};
var xhrArgs = {
url: "postIt",
postData: dojo.toJson(myParameters),
handleAs: "text",
headers: { "Content-Type": "application/json", "Accept": "application/json" },
load: function(data) {
},
error: function(error) {
}
}
var deferred = dojo.xhrPost(xhrArgs);
答案 2 :(得分:0)
对于xhrPOst,可以提及要发布的表单名称。因此,所有表单元素都会发布。如果你想传递一些额外的参数,那么在发布的表格中使用隐藏变量。