【问题标题】:Why is jQuery.parseJSON not a function?为什么 jQuery.parseJSON 不是函数?
【发布时间】:2010-03-29 04:44:21
【问题描述】:

我使用以下 jQuery 语句,但出现错误,

jQuery.parseJSON 不是函数

我的功能是,

function Iteratejsondata() {var HfJsonValue = 
      { "Table": [{ "Emp_Id": "3", 
                    "Identity_No": "", 
                    "Emp_Name": "Jerome", 
                    "Address": "Madurai", 
                    "Date_Of_Birth": "", 
                    "Desig_Name": "Supervisior", 
                    "Desig_Description": "Supervisior of the Construction", 
                    "SalaryBasis": "Monthly", 
                    "FixedSalary": "25000.00" }, 
                  { "Emp_Id": "4", 
                    "Identity_No": "", 
                    "Emp_Name": "Mohan", 
                    "Address": "Madurai", 
                    "Date_Of_Birth": "", 
                    "Desig_Name": "Acc ", 
                    "Desig_Description": "Accountant", 
                    "SalaryBasis": "Monthly", 
                    "FixedSalary": "200.00" }, 
                  { "Emp_Id": "5", 
                    "Identity_No": "", 
                    "Emp_Name": "Murugan", 
                    "Address": "Madurai", 
                    "Date_Of_Birth": "", 
                    "Desig_Name": "Mason", 
                    "Desig_Description": "Mason", 
                    "SalaryBasis": "Weekly", 
                    "FixedSalary": "150.00" }, 
                  { "Emp_Id": "6", 
                    "Identity_No": "", 
                    "Emp_Name": "Ram", 
                    "Address": "Madurai", 
                    "Date_Of_Birth": ""
                     "Desig_Name": "Mason", 
                     "Desig_Description": "Mason", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "120.00" }, 
                   { "Emp_Id": "7", 
                     "Identity_No": "", 
                     "Emp_Name": "Raja", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Mason", 
                     "Desig_Description": "Mason", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "135.00" }, 
                   { "Emp_Id": "8", 
                     "Identity_No": "", 
                     "Emp_Name": "Raja kumar", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Mason Helper", 
                     "Desig_Description": "Mason Helper", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "105.00" }, 
                   { "Emp_Id": "9", 
                     "Identity_No": "", 
                     "Emp_Name": "Lakshmi", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Mason Helper", 
                     "Desig_Description": "Mason Helper", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "100.00" }, 
                   { "Emp_Id": "10", 
                     "Identity_No": "", 
                     "Emp_Name": "Palani", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Carpenter", 
                     "Desig_Description": "Carpenter", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "200.00" }, 
                   { "Emp_Id": "11", 
                     "Identity_No": "", 
                     "Emp_Name": "Annamalai", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Carpenter", 
                     "Desig_Description": "Carpenter", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "220.00" }, 
                   { "Emp_Id": "12", 
                     "Identity_No": "", 
                     "Emp_Name": "David", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Steel Fixer", 
                     "Desig_Description": "Steel Fixer", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "220.00" }, 
                   { "Emp_Id": "13", 
                     "Identity_No": "", 
                     "Emp_Name": "Chandru", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Steel Fixer", 
                     "Desig_Description": "Steel Fixer", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "220.00" }, 
                   { "Emp_Id": "14", 
                     "Identity_No": "", 
                     "Emp_Name": "Mani", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Steel Helper", 
                     "Desig_Description": "Steel Helper", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "175.00" }, 
                   { "Emp_Id": "15", 
                     "Identity_No": "", 
                     "Emp_Name": "Karthik", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Wood Fixer", 
                     "Desig_Description": "Wood Fixer", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "195.00" }, 
                   { "Emp_Id": "16", 
                     "Identity_No": "", 
                     "Emp_Name": "Bala", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Wood Fixer", 
                     "Desig_Description": "Wood Fixer", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "185.00" }, 
                   { "Emp_Id": "17", 
                     "Identity_No": "", 
                     "Emp_Name": "Tamil arasi", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Wood Helper", 
                     "Desig_Description": "Wood Helper", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "185.00" }, 
                   { "Emp_Id": "18", 
                     "Identity_No": "", 
                     "Emp_Name": "Perumal", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Cook", 
                     "Desig_Description": "Cook", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "105.00" }, 
                   { "Emp_Id": "19", 
                     "Identity_No": "", 
                     "Emp_Name": "Andiappan", 
                     "Address": "Madurai", 
                     "Date_Of_Birth": "", 
                     "Desig_Name": "Watchman", 
                     "Desig_Description": "Watchman", 
                     "SalaryBasis": "Weekly", 
                     "FixedSalary": "150.00"}]
      };

    //var jsonObj = eval('(' + HfJsonValue + ')');
    var jsonObj = jQuery.parseJSON(HfJsonValue);

我的页面看起来像这样

 <div id="Pagination" class="page-numbers"></div>
  <br style="clear:both;" />
  <div id="Searchresult"></div>

  <div id="hiddenresult" style="display:none;">

  </div>
 <script type="text/javascript">
     var pagination_options = {
         num_edge_entries: 2,
         num_display_entries: 8,
         callback: pageselectCallback,
         items_per_page: 3
     }
     function pageselectCallback(page_index, jq) {
         var items_per_page = pagination_options.items_per_page;
         var offset = page_index * items_per_page;
         var new_content = $('#hiddenresult div.resultsdiv').slice(offset, offset + items_per_page).clone();
         $('#Searchresult').empty().append(new_content);
         return false;
     }
     function initPagination() {
         var num_entries = $('#hiddenresult div.resultsdiv').length;
         // Create pagination element
         $("#Pagination").pagination(num_entries, pagination_options);
     }
     $(document).ready(function() {
         Iteratejsondata();
         initPagination();
     });
</script>

我通过 Firebug 进行了检查,发现所有 jQuery 文件都已下载,但为什么会出现这种情况?

【问题讨论】:

  • 好像HfJsonValue 已经是一个对象了。为什么把它当作 JSON 来转换成对象呢?
  • @php 开发人员当然不是我认为的对象...我必须评估它或使用 jquery 来解析它...

标签: jquery json parsing


【解决方案1】:

您使用的是什么版本的 jQuery? parseJSON 是在 1.4.1 版本中添加的,因此如果您使用的是早期版本,则它不存在。

【讨论】:

  • 当您尝试解析的 JSON 字符串中存在错误时会触发此错误。
【解决方案2】:

您也可以使用 JSON.parse()。它在 FF、Chrome、Safari 和 IE8 上原生支持,并且很可能会比 JQuery 版本更快。

如果您的目标是 IE7 和 IE6,JQuery 将是最好的选择。

【讨论】:

    【解决方案3】:

    您使用的是什么版本的 jQuery? parseJSON 仅适用于 1.4.1。

    另外,您只能将字符串传递给函数:http://api.jquery.com/jQuery.parseJSON/

    【讨论】:

      【解决方案4】:

      在你的例子中,你不需要解析HfJsonValue,它已经直接嵌入了,它会被浏览器正确处理。

      【讨论】:

        【解决方案5】:

        我也遇到了这个错误,但这是由于我与 jQuery 3 一起使用的旧 javascript 库。

        从 jQuery 3+ 开始,jQuery.parseJson 已被弃用,取而代之的是与 jQuery 3 具有相同浏览器支持的原生 JSON.parse

        【讨论】:

          【解决方案6】:

          我一直收到同样的错误,“jQuery.parseJSON 不是函数”,直到我更新到 1.4.4

          |script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"|

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-09-27
            • 1970-01-01
            • 2021-09-09
            • 2019-10-12
            • 2019-05-25
            • 2021-01-18
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多