Javascript 如何为ajax post数据设置动态键?
我试图使用jquery在ajax post数据中设置动态键。我的问题是一样的,我也遵循同样的方式,但仍然面临问题。下面是我的ajax函数Javascript 如何为ajax post数据设置动态键?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图使用jquery在ajax post数据中设置动态键。我的问题是一样的,我也遵循同样的方式,但仍然面临问题。下面是我的ajax函数 function DisableFunction(id,section,token){ var dataVars = {}; dataVars[section] = token; dataVars['id'] = id; $.ajax({ type:'POST', url
function DisableFunction(id,section,token){
var dataVars = {};
dataVars[section] = token;
dataVars['id'] = id;
$.ajax({
type:'POST',
url:'post.php',
data:JSON.stringify(dataVars),
dataType:"json",
...
});
}
下面是我的ajax调用html标记属性
onclick="return DisableFunction(1,'DisableNewsfeed','a6dba37437ced2c3b07469fd6c0661f3');"
当我点击它时,ajax函数不能正确地发布数据。我附上了ajax活动的屏幕截图
有谁能告诉我问题在哪里,我可以解决它,如果有人能告诉我,我将不胜感激。谢谢。编辑:我不确定哪个id、节和令牌是相关的,但在任何一种情况下,dataVars对象都应该是这样的
我猜您不想将JSON数据传递给服务器,但希望它返回。因此,
data:dataVars
就是您想要的
我还稍微修改了dataVars对象
function DisableFunction(id, section, token){
var dataVars = {
token: token,
section: section,
id: id
};
$.ajax({
type: 'POST',
url: 'post.php',
data: dataVars,
dataType: 'json',
contentType: "application/json",
...
});
}
编辑:我不确定id、节和令牌属于什么,但在任何一种情况下,dataVars对象都应该是这样的
我猜您不想将JSON数据传递给服务器,但希望它返回。因此,
data:dataVars
就是您想要的
我还稍微修改了dataVars对象
function DisableFunction(id, section, token){
var dataVars = {
token: token,
section: section,
id: id
};
$.ajax({
type: 'POST',
url: 'post.php',
data: dataVars,
dataType: 'json',
contentType: "application/json",
...
});
}
从您的屏幕截图可以明显看出,内容类型设置为“application/x-www-form-urlencoded”,而不是“application/json” 将ajax调用更新为:
$.ajax({
type:'POST',
url:'post.php',
data: dataVars,
contentType: "application/json",
...
})
从您的屏幕截图可以明显看出,内容类型设置为“application/x-www-form-urlencoded”,而不是“application/json” 将ajax调用更新为:
$.ajax({
type:'POST',
url:'post.php',
data: dataVars,
contentType: "application/json",
...
})
“未正确过帐数据”。解释。@NehalJWani我的意思是缺少一些东西,你可以在附加的屏幕上看到shot@NehalJWani检查屏幕截图,我希望您能理解出了问题。我假设您的post.php文件中有一堆
if
s来检查设置了哪个键。。。不要这样做,并在对象中使用动态键,考虑创建另一个路由并动态设置URL。“不要正确发布数据”。解释。@NehalJWani我的意思是缺少一些东西,你可以在附加的屏幕上看到shot@NehalJWani检查屏幕截图,我希望您能理解出了问题。我假设您的post.php文件中有一堆if
s来检查设置了哪个键。。。而不是这样做,并在对象中使用动态键,考虑创建另一个路由并动态设置URL。它设置了键“节”,我想使其动态。我正在部分传递'DisableNewsFeed',但它没有设置。它是动态的,请确保正确命名键。我不得不猜测这些名字,因为你只提供了上面三把必需钥匙中的两把。如果你提供键的名称,我可以为你编辑它。它设置键“部分”,我想使它动态。我正在部分传递'DisableNewsFeed',但它没有设置。它是动态的,请确保正确命名键。我不得不猜测这些名字,因为你只提供了上面三把必需钥匙中的两把。如果你给我钥匙的名字,我可以帮你编辑。打得好,我没注意到。你认为这有意义吗:JSON.stringify(dataVars)
?@AdamPatterson不,不需要stringify。只需将变量直接传递给数据参数。一旦停止使用JSON.stringify()
@AdamPattersonI,你甚至不需要设置contentType,这样发布的人就不会有错误的想法了。我同意海报不应该包括JSON.stringify()
@AdamPatterson-我错误地认为你是OP:DGood,我没有注意到这一点。你认为这有意义吗:JSON.stringify(dataVars)
?@AdamPatterson不,不需要stringify。只需将变量直接传递给数据参数。一旦停止使用JSON.stringify()
@AdamPattersonI,你甚至不需要设置contentType,这样发布的人就不会有错误的想法了。我同意海报不应该包括JSON.stringify()
@AdamPatterson-我错误地认为你是OP:D