这是一个ajax调用,它能够获取当前时间并以用户所需的格式更改为字符串。
因为我想封装ajax调用,所以我制作了一个包含键值对的数组。我想使用formData.append
来放置参数以进行Ajax调用。
我写了下面的代码,但是当我传递一个只有1个对象的数组时,
执行formdata.append
之后,formdata
仍然为空,并且使我的ajax调用无法获得理想的结果。
我能知道我哪里错了吗?
var Data=[{ "NAME": "DATEFORMAT", "VALUE": "yyyy/MM/dd HH:mm:ss" }];
var formData = new FormData();
for (var i = 0; i < Data.length; i += 1) {
var x=Data[i];
formData.append(x.NAME, x.VALUE);
}
$.ajax({
url: "SomeFunction.ashx",
headers: {
"X-Requested-With": "XMLHttpRequest",
"Requested-Type": "DateTimeToString"
},
method: "post",
data: formData,
processData: false,
contentType: false,
success: function (retdata) {
resolve(retdata);
},
error: function (err) {
reject(err);
}
});
答案 0 :(得分:0)
正如我在评论中提到的那样,您的 for循环和formData
可以正常工作。
如果在 for循环中添加console.log(formData.get(x.NAME))
,则会看到数据已成功添加到formData
元素中。
所以您的问题出在您的 ajax请求中。
var Data=[{ "NAME": "DATEFORMAT", "VALUE": "yyyy/MM/dd HH:mm:ss" }];
var formData = new FormData();
for (var i = 0; i < Data.length; i += 1) {
var x=Data[i];
formData.append(x.NAME, x.VALUE);
console.log(formData.get(x.NAME));
}