在变量UserData
上调用alert()
时,我得到以下输出:
测试用户,mail@example.com,2
根据alert(typeof UserData)
,变量UserData
的类型为Object。我正试图将它传递给jQueryAjax调用,但在服务器端,我的POST数据是空的。
如果我做JSON.stringify(UserData)
,它变成:
["TestUser","mail@example.com","2"]
仍然没有得到任何POST数据。
这是Ajax调用:
request = $.ajax({
url: "edit_user.php",
type: "post",
data: UserData,
dataType: "json"
});
谢谢你的帮助。
尝试创建一个看起来像这样的项目,并将其传递给ajax调用{user:"TestUser",email:"mail@example.com",id:"2"}
的数据属性,或者按照Mark的建议,使用serialize()
来封装此对象
似乎您的UserData是数组,而不是对象,并且它没有正确的键(字段名)。你没有提到UserData是如何形成的,它来自哪里。检查一下,当你字符串化它时,确保它看起来像{user:"TestUser",email:"mail@example.com",id:"2"}
而不是["TestUser","mail@example.com","2"]
。然后你可以简单地通过ajax数据字段传递它。
我们看不到UserData来自哪里或它是如何形成的,但从对象中提取数据并尝试此
var dynamicData = [];
dynamicData.push({name: 'name', value: 'TestUser'});
dynamicData.push({name: 'email', value: 'mail@example.com'});
替换值(TestUser,mail@example.com)以及从UserData提取的数据。也许
dynamicData.push({name: 'name', value: UserData[0]});