一般当写作你要使用“POST”类型,而不是“GET”类型。 POST用于将数据存入数据存储区,GET用于检索数据。尽管没有更多的代码,但它很难调试,所以我会在黑暗中拍摄几张照片。
首先,清理一下代码并统一你的格式 - 把“字段”放在引号中,像你的其他项目。虽然这可能无法解决您的问题,但JSON standard实际上仅定义为使用双语句。
其次,如果我们可以看到PHP代码,这将有所帮助 - 我的猜测是响应被解释出现问题。我建议,为了进行调试,您可以运行Fiddler并检查实际的请求,以确保您将所有必需的字段发送到服务器。
一旦您更新我们的更多信息,我可以更新我的答案 - 但我会开始切换到POST。
更新 我想我误解了这个问题 - 如果你正在寻找让data.field真正被data.somefield在该属性的名称可以改变为任何你想要的,这是相当简单:
数据[字段] = mapstring
换句话说:
function writeabdata(table, id, field, mapstring) {
//alert ("table = "+table+" id = "+id+" field = \'"+field+"\' value = "+value);
var dataObj = {
'table': table,
'id': id
};
dataObj[field] = mapstring;
$.ajax({
type: 'GET',
url: 'writeabdata.php',
data: dataObj,
success: function (data) {
alert ("data Saved "+ data);
}
});
}
相反,一些你得到的意见,就可以了,因为您在上面看到,动态地设置属性在对象上使用数组访问器的名称。它运作顺畅。建立静态命名的数据对象属性,然后通过数组访问器添加其他数据对象属性。