建筑 ajax post 与 jQuery each()
Building ajax post with jQuery each()
我正在从 excel 中提取数据,我想通过 coldfusion CFC 将该数据插入到数据库中。除了这次我动态构建 ajax 的 "data" 部分外,我一直这样做。发生的事情是,当我查看 URL 字符串时,它没有添加我在 var xData 中构建的表单数据。一切看起来都正确,但数据并未传送到 CFC。提前谢谢你
小欧内斯特·佩纳
这是我的代码:
$.each(formulas, function(i) {
var xData ='';
var x = Object.keys(formulas[i]).length
var y = 0;
$.each(formulas[i], function(index,value) {
var c = ''
y++
if(y!=x){var c = ','}
xData += index+':'+value+''+c
});
$.ajax({type: "POST",url: "CFCs/"+tblName+".cfc?method="+tblName+"_FORMULA_ADD", dataType: "json",data:{xData},
success: function(response){
console.log(response)
},
error: function(response){
console.log(response)
}
});
});
结果:
查询字符串参数查看源码查看URL编码
方法: WAIS4_FORMULA_ADD
表单数据查看源码查看URL编码
xData:SCALED_SCORE:8,DDID:2581,AGE_START:16,AGE_END:17,RAW_SCORE_START:34,RAW_SCORE_END:36 ,ENTEREDBYID:156936,DATEENTERED:4/23/15,VERSION:1
{xData}
不会将字符串xData
的内容解析为键值对。您应该直接在 $.each
循环中构建对象,而不是字符串。
xData = {};
$.each(formulas[i], function(index, value) {
xData[index] = value;
});
然后在 AJAX 调用中使用 data: xData
。
但是上面的循环所做的只是复制formulas[i]
。您可以简单地使用 data: formulas[i]
我正在从 excel 中提取数据,我想通过 coldfusion CFC 将该数据插入到数据库中。除了这次我动态构建 ajax 的 "data" 部分外,我一直这样做。发生的事情是,当我查看 URL 字符串时,它没有添加我在 var xData 中构建的表单数据。一切看起来都正确,但数据并未传送到 CFC。提前谢谢你
小欧内斯特·佩纳
这是我的代码:
$.each(formulas, function(i) {
var xData ='';
var x = Object.keys(formulas[i]).length
var y = 0;
$.each(formulas[i], function(index,value) {
var c = ''
y++
if(y!=x){var c = ','}
xData += index+':'+value+''+c
});
$.ajax({type: "POST",url: "CFCs/"+tblName+".cfc?method="+tblName+"_FORMULA_ADD", dataType: "json",data:{xData},
success: function(response){
console.log(response)
},
error: function(response){
console.log(response)
}
});
});
结果:
查询字符串参数查看源码查看URL编码
方法: WAIS4_FORMULA_ADD
表单数据查看源码查看URL编码
xData:SCALED_SCORE:8,DDID:2581,AGE_START:16,AGE_END:17,RAW_SCORE_START:34,RAW_SCORE_END:36 ,ENTEREDBYID:156936,DATEENTERED:4/23/15,VERSION:1
{xData}
不会将字符串xData
的内容解析为键值对。您应该直接在 $.each
循环中构建对象,而不是字符串。
xData = {};
$.each(formulas[i], function(index, value) {
xData[index] = value;
});
然后在 AJAX 调用中使用 data: xData
。
但是上面的循环所做的只是复制formulas[i]
。您可以简单地使用 data: formulas[i]