将$ .post转换为$ .ajax

时间:2015-03-25 09:45:18

标签: javascript jquery ajax

我有一个发表声明,

$.post("panel.php", 'data=[{"action":"UserInfo"}]', function (userInfo){
    //processing
});

我需要将它转换为$ .ajax,因此就这样做了,

 $.ajax({
                type: "POST",
                url: "panel.php",
                data:  { data: [{"action":"UserInfo"}]},
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(userInfo) {
                    //processing
                }
});

但是post变量没有被发送。这不是正确的方法吗?

6 个答案:

答案 0 :(得分:3)

你可以尝试这样的事情:

$.ajax({
                type: "POST",
                url: "panel.php",
                data:  {"action":"UserInfo"},
                success: function(userInfo) {
                    //processing
                }
});

答案 1 :(得分:3)

试试这个

$.ajax({
                    type: "POST",
                    url: "panel.php",
                    data: "action="+"UserInfo",
                    success: function(userInfo) {
                        //processing
                    }
    });

答案 2 :(得分:1)

从您的data移除data并将其保存在变量中,在发送之前将其字符串化,如下所示

var data={"action":"UserInfo"};
$.ajax({
                type: "POST",
                url: "panel.php",
                data: JSON.stringify(data),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(userInfo) {
                    //processing
                }
});

答案 3 :(得分:0)

尝试这样,

$.ajax({
                type: "POST",
                url: "panel.php",
                data:  {"action":"UserInfo"},
                success: function(userInfo) {

                }
});

答案 4 :(得分:0)

您的data属性未写为正确的JSON:

data:  { "data": [{"action":"UserInfo"}]},

您需要在JSON对象中的项目周围加引号。您可以使用JSONLint检查您的JSON对象是否有效。

答案 5 :(得分:0)

$.ajax({
                type: "POST",
                url: "panel.php",
                data:  {"action":"UserInfo"},
                dataType: "json",
                success: function(userInfo) {
                    //processing
                }
});

需要一个小小的改变。有一种预定义的格式来发送ajax中的数据,

  1. data:{status:status,name:name},
  2. 数据:“status =”+ status +“& name =”+ name。
  3. 遵循任何一种方法。