在变量alert()
上调用UserData
时,我得到以下输出:
TestUser,mail @ example.com,2
根据UserData
,变量alert(typeof UserData)
的类型为Object。我正在尝试将其传递给jQuery Ajax调用,但在服务器端,我的POST数据为空。
如果我JSON.stringify(UserData)
,它会变成:
["TestUser","mail@example.com","2"]
但仍未获得任何POST数据。
这是Ajax调用:
request = $.ajax({
url: "edit_user.php",
type: "post",
data: UserData,
dataType: "json"
});
感谢您的帮助。
答案 0 :(得分:1)
尝试创建一个看起来像这样的对象并将其传递给ajax调用{user:"TestUser",email:"mail@example.com",id:"2"}
的data属性,或者Mark建议使用serialize()
来创建此对象
答案 1 :(得分:0)
似乎您的UserData是数组,而不是对象,并且它没有正确的键(字段名称)。你没有提到,UserData是如何形成的,它来自何处。检查那里,确保它看起来像{user:"TestUser",email:"mail@example.com",id:"2"}
,而不是像["TestUser","mail@example.com","2"]
那样进行字符串化。然后你可以简单地通过ajax数据字段传递它。
答案 2 :(得分:0)
我们无法看到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]});