php – 遇到jqgrid dataUrl函数代码段的问题

我需要拥有当前选择的行id以构建一个JSON字符串,该字符串将传递给PHP脚本以创建一个select,因此我将脚本引用和代码包含在一个函数中.

但是,这样做会产生NetworkError:403 Forbidden错误.

这是代码段:

editoptions:{dataUrl:function(){
var row_id   = $('#tab3-grid').getGridParam('selrow');
var jsondata = JSON.stringify({"cu.STID": $('#tab3-grid').jqgrid('getCell', row_id, 'cu.STID'),
                               "wv.SVID": $('#tab3-grid').jqgrid('getCell', row_id, 'wv.SVID')});

return 'PHP/items-se-script.PHP?data='+jsondata;
},

有谁知道发生了什么?

更新:

{name:'it.PRID', index:'it.PRID', hidden: true, editable:true,  edittype:'select',
editoptions:{dataUrl:'PHP/items-se-script.PHP', defaultValue:'26', dataEvents:[{type:'change',fn:function(e){$('input#ip\\.Item').val($('option:selected', this).text());}}]},
formoptions:{label:'Item', elmprefix:'* '},
editrules:{edithidden:true, required:true}},

{name:'ip.Item', index:'ip.Item', hidden: true, sortable: true, editable:false, edittype:'text', editoptions:{readonly:true,size:20}, formoptions:{rowpos: 50, label:'Item'}, editrules:{required:true}}

],

ajaxSelectOptions: {
   type:'POST',
   data: {
      data: function () {
         var row_id = $('#tab3-grid').getGridParam('selrow');
         return JSON.stringify({
            "cu.STID": $('#tab3-grid').jqgrid('getCell', row_id, 'cu.STID'),
            "wv.SVID": $('#tab3-grid').jqgrid('getCell', row_id, 'wv.SVID')
         });
      }
   }
},

url:    'PHP/workordertab-script.PHP',
editurl:'PHP/workordertab-script.PHP',

解决方法:

属性dataUrl不能是一个函数.如果您需要在构建选择期间向服务器发送任何其他信息,您可以使用ajaxSelectOptions选项,就像我描述的here一样.在您的情况下,它将是关于以下内容

var $myGrid = $('#tab3-grid');
$myGrid.jqgrid({
    // ... here all you current parameters which includes
    //     editoptions: { dataUrl: 'PHP/items-se-script.PHP' }
    // for the corresponding column in colModel
    ajaxSelectOptions: {
        data: { // "data" here is jQuery.ajax parameter 
            data: function () { // "data" here is the name of you custom parameter
                var row_id = $myGrid.getGridParam('selrow');
                return JSON.stringify({
                    "cu.STID": $myGrid.jqgrid('getCell', row_id, 'cu.STID'),
                    "wv.SVID": $myGrid.jqgrid('getCell', row_id, 'wv.SVID')
                });
            }
        }
    }
});

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...