得到此错误“$ .toJSON不是函数”

时间:2011-10-13 19:47:16

标签: jquery ajax json

我正在尝试使用jQuery和Ajax,我使用这种方法。但我收到错误$ .toJSON不是我的firebug中的函数。问题出在哪儿?我使用jquery 1.3.2。谢谢

  $(document).ready(function () {
        $("#S1").click(function 
            () {
            $("#t1").slideToggle("fast");
            $("#S1").css("background-color", "yellow");
            var ID = $("#HiddenField2").attr("Value");
            var params = new Object();
            params.Key = ID;
            $.ajax({
                type: "POST",
                url: "viewMessages.aspx/readen",
                data: $.toJSON(params),
                contentType: "application/json",
                dataType: "json",
                success: function () {

                }
            });
        });
    });

5 个答案:

答案 0 :(得分:40)

这是正确的。

没有$.toJSON()功能:http://api.jquery.com/jQuery.toJSON。也许您想要使用JSON.stringify()代替。

答案 1 :(得分:9)

您需要在页面上添加http://code.google.com/p/jquery-json/ jquery-json库。

答案 2 :(得分:7)

我正在学习jquery,我遇到了同样的问题。 我的错误 - 在这行代码中断了我:

var params = $.toJSON(request);

用以下代码替换后:

var params = JSON.stringify(request);

我没有收到任何错误。

但请帮助我了解您的方法readen

url:“viewMessages.aspx / readen”

答案 3 :(得分:2)

你已经包含了jquery,没有理由使用任何其他库,只需使用$ .parseJSON(a_json_string):

var error_json_string = '{"error":{"message":"message blablabla","type":"","code":""}}';
var error_json_obj = $.parseJSON(error_json_string);

alert(error_json_obj.error.message);

资料来源: http://api.jquery.com/jquery.parsejson/

答案 4 :(得分:1)

只需使用

data: params,

OR

var params = {key:ID},