无法处理来自jQuery.post()的响应

时间:2011-12-13 12:51:00

标签: javascript jquery ajax

我有以下代码

$(function() {
    $('.apply').click(function(e) {
        var z = $(this).attr('z-id');
        var r = $(this).attr('r-id');
        $.post(
            "/r-set-z",
            "z_id=" + z + "&r_id=" + r,
            function(data) {
                alert(data);
            }
        );
    });
});

它工作正常,但我看不到响应数据的警报。服务器上的一切都很顺利。每次点击相应的按钮,都会完成所有数据处理。服务器返回的数据类型为application/javascript,由以下

组成
{"msg": "save successful"}

单击按钮后为什么没有警报?

2 个答案:

答案 0 :(得分:0)

尝试下面的一个。

alert(data.msg);

还要确保回调位于正确的位置

答案 1 :(得分:0)

尝试以application/json的身份从服务器返回响应,并在$.post中指定JSON:

    $.post(
        "/r-set-z",
        "z_id=" + z + "&r_id=" + r,
        function(data) {
            alert(data);
        }
    , 'json');

或使用$.getJSON

    $.getJSON(
        "/r-set-z",
        "z_id=" + z + "&r_id=" + r,
        function(data) {
            alert(data);
        }
    );