如何为ajax发布数据设置动态密钥?

时间:2017-03-12 07:13:46

标签: javascript jquery ajax

我正在尝试使用jquery在ajax post数据中设置动态键。我的问题和this一样,我也遵循同样的方式,但仍面临问题。以下是我的ajax功能

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活动的截图。

enter image description here

任何人都可以指导我,我可以解决的问题在哪里,如果有人指导我,我会很感激。谢谢。

2 个答案:

答案 0 :(得分:2)

从截图中可以看出,内容类型设置为'application / x-www-form-urlencoded'而不是'application / json'

将ajax调用更新为:

$.ajax({
        type:'POST',
        url:'post.php',
        data: dataVars,
        contentType: "application/json",
        ...
    })

答案 1 :(得分:0)

编辑:我不确定id,section和token是什么,但在任何一种情况下,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",
        ...
    });
}