Jqgrid $.jgrid.useJSON=true的用途是什么?

Jqgrid $.jgrid.useJSON=true的用途是什么?,jqgrid,Jqgrid,我经常看到这句话,但找不到答案: $.jgrid.useJSON = true; 目的是什么?调查来源使一切变得干净: parse : function(jsonString) { ... return ($.jgrid.useJSON===true && typeof (JSON) === 'object' && typeof (JSON.parse) === 'function') ? JSON.parse(js) : eval(

我经常看到这句话,但找不到答案:

$.jgrid.useJSON = true;

目的是什么?

调查来源使一切变得干净:

parse : function(jsonString) {
  ...
  return ($.jgrid.useJSON===true && typeof (JSON) === 'object' && typeof (JSON.parse) === 'function') 
    ? JSON.parse(js) 
    : eval('(' + js + ')');
}
所以它基本上说:


若要解析JSON字符串,请尽可能使用JavaScript
JSON
API,而不是
eval

通常我以以下方式包括jqGrid


$.jgrid.no_legacy_api=true;
$.jgrid.useJSON=true;
因此,首先应该包括定义
$.jgrid
grid.locale en.js
,然后您可以设置
$.jgrid.useJSON
$.jgrid.no_legacy_api
,随后在
jquery.jqGrid.min.js
中实现的jqGrid将使用这些设置

选项
$.jgrid.useJSON
将在
$.jgrid.parse
中用于使用
JSON.parse
eval
解析JSON字符串

确切地说,
$.jgrid.parse
方法将不会经常使用。主要有两种情况相关:

  • 如果
    datastr
    的值具有“string”类型和
    datatype:“jsonstring”
  • 分析
    postData.filters
    (用于本地数据类型和高级搜索的筛选器参数)
  • subgridtype:“JSON”
  • jqGridImport
    方法实现内部
  • 因此,
    $.jgrid.useJSON=true,但这可能会影响程序的性能,因为JSON解析的最重要情况通常是由jQuery内部(通常是由
    jQuery.ajax
    )进行的,而不是由jqGrid代码进行的