我有一个通过ajax更新数据库的函数。我的问题是如何更新页面上显示的数据以显示更新的详细信息。 POST数据可能会有所不同,因此数据字符串将是这样的:
var dataString = '[name resource we are editing]=1' +
'¶1='+ para1 +
'¶2=' + para2+
'¶3=' + para3
我希望下面的函数拆分或循环遍历数据字符串中的每个POST变量,以更新页面上元素的文本。我无法弄清楚如何。
function editAccount(dataString, details, form){
status = $(".status");
$.ajax({
type: "POST",
url: "<?php echo BASE_PATH; ?>/edit/",
data: dataString,
success: function(response) {
$.each(response, function(key, value) {
success_code = key;
message = value;
});
if(success_code == 1){
status.text(message).addClass("valid");
//show details and hide form
$("#" + details).show();
$("#" + form).hide();
//HOW to do below?
//update details being displayed with datasource data
//loop through dataString to assign eg. $('#para1')text(para1);
} else {
status.text(message).addClass("invalid");
}
},
error: function(response){
status.text("There was a problem updating your details into our database. Please contact us to report this error.").addClass("invalid");
}
});
}
答案 0 :(得分:0)
如前一条评论中所述,我建议将dataString
变量声明为对象:
var dataString = { '[name resource we are editing]' : 1,
'para1': para1,
'para2': para2,
'para3': para3
}
现在循环使用params会更容易,只需使用函数each
,例如,您已在代码中使用该函数:
$.each(dataString, function(key, value) {
// Do stuff with each param
});
编辑:
正如@Qpirate建议的那样,您也可以使用javascript for
循环:
for(var key in dataString){
// value => dataString[key]
}