【问题标题】:getting this error " $.toJSON is not a function "收到此错误“$.toJSON 不是函数”
【发布时间】:2011-10-13 19:47:15
【问题描述】:

我正在尝试使用 jQuery 和 Ajax,我使用了这种方法。但我收到错误 $.toJSON is not a function in my 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 () {

                }
            });
        });
    });

【问题讨论】:

    标签: jquery ajax json


    【解决方案1】:

    没错。

    没有$.toJSON() 函数:http://api.jquery.com/jQuery.toJSON。也许您想改用JSON.stringify()

    【讨论】:

    • +1。当所有现代浏览器都内置了一个额外的库时,没有理由使用它。
    • 顺便说一句,并非所有浏览器都内置了 json 库。在这种情况下,您需要包含 json2.js ..
    • 如果没有这种方法,what is this guy using in his code?!
    • @SNag 这篇博文已有 6 年的历史,但让我们忽略这个事实......你看到那里的评论说 “下面是一个建议的更新。因为它依赖于你的json 插件,你把它添加到你的代码库中,以便其他 jQuery 用户可以使用它" ?这不是真正的代码。这是一个提议。
    • JSON.stringify() 链接已损坏
    【解决方案2】:

    您需要在您的页面上包含来自http://code.google.com/p/jquery-json/jquery-json 库。

    【讨论】:

      【解决方案3】:

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

      var params = $.toJSON(request);
      

      用此代码替换后:

      var params = JSON.stringify(request);
      

      我没有收到任何错误。

      但是请帮我知道你想要你的方法readen

      网址:“viewMessages.aspx/readen”

      【讨论】:

      • 我将如何改变[].toJSON()
      【解决方案4】:

      你已经包含了 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/

      【讨论】:

      • 似乎值得指出的是,OP 声明他们使用的是 jQuery 1.3.2,并且在 1.4.1 中添加了 .parseJSON()
      • 是的,它从 1.4.1 开始可用,我正在使用最新版本 code.jquery.com/jquery-1.11.1.min.js,我认为升级到它时没问题!,视情况而定(应该尝试):)
      【解决方案5】:

      随便用

      data: params,
      

      var params = {key:ID},
      

      【讨论】:

      • 它不起作用,我得到这个“无效的 JSON 原语:密钥”。并且没有子对象
      • 首先删除这个 contentType: "application/json", line try with var param = {'key':ID},
      猜你喜欢
      • 2019-10-14
      • 2011-01-03
      • 2023-01-24
      • 2019-08-05
      • 2021-01-13
      • 2021-01-10
      • 1970-01-01
      • 2018-06-14
      • 2017-02-07
      相关资源
      最近更新 更多