Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery jqgrid列表提交后删除数据_Jquery_Jqgrid - Fatal编程技术网

jquery jqgrid列表提交后删除数据

jquery jqgrid列表提交后删除数据,jquery,jqgrid,Jquery,Jqgrid,我想问的是,我有一个jqgrid列表,我想在屏幕上看到错误消息,以防删除失败。这是我的密码: <html> <body> <script type="text/javascript" charset="utf-8"> $(document).ready(function() { jQuery("#list").jqGrid({ url:'../listeAjax', datatype: "json", c

我想问的是,我有一个jqgrid列表,我想在屏幕上看到错误消息,以防删除失败。这是我的密码:

<html>
<body>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
    jQuery("#list").jqGrid({
        url:'../listeAjax',
        datatype: "json",
        colNames:['Id','Hizmet adı', 'Sektörler', 'Durum', 'Düzenle'], 
        colModel:[
            {name:'onto_data_id',index:'onto_data_id', width:55, editable: false},
            {name:'baslik',index:'baslik', editable:true, editrules:{required:true}, formoptions:{ elmprefix:"(*)"}},
            {name:'sektor_list',index:'sektor_list', editable:false},
            {name:'is_active',index:'is_active', align: 'center', editable:true, stype:'select', 
                editoptions:{value:":All;1:<?php echo lang('title_aktif')?>;0:<?php echo lang('title_pasif')?>", defaultValue:1},
                edittype:"select"   
            },
            {name:'duzenle',index:'duzenle', align: 'center', sortable:false, search: false, editable:false}        
        ],
        rowNum: <?php echo DEFAULT_GRID_ROWNUM; ?>,
        rowList:[100,200,400,800],
        pager: '#pager',
        sortname: 'onto_data_id',
        viewrecords: true,
        sortorder: "desc",
        multiselect: true,
        width: 800,
        height: "100%",
        editurl: '../islemAjax',
        caption: "Hizmetler",
        mtype: "GET",
        postData:{parent_id: '<?php echo $parent_id; ?>', parent_type: '<?php echo $parent_type; ?>'}
    });
    jQuery("#list").jqGrid('navGrid','#pager',
            {edit:true, add:true, del:true, search:false}, 
            {closeOnEscape:true, bottominfo:"<?php langValue('info_yildizlialanlar'); ?>",editData: {
                    parent_id: function() {
                    return '<?php echo $parent_id; ?>';
                },
                parent_type: function() {
                    return '<?php echo $parent_type; ?>';
                },
                tur: function() {
                    return '<?php echo ONTO_TYPE_HIZMET; ?>';
                }
            }}, 
            {
                beforeSubmit: function(postdata, formid){
                    var message;
                    $.ajax( {
                        type : 'POST',
                        dataType : 'json',
                        url : "<?php echo URL_YONETIMDATACONTROL; ?>",
                        data : 'baslik='+postdata.baslik + '&parent_id=' + <?php echo $parent_id; ?> + '&parent_type=' + <?php echo $parent_type; ?> + '&onto_type=' + <?php echo ONTO_TYPE_HIZMET  ; ?>,
                        async : false,
                        success : function(result) {
                            if(result.status == true) {                             
                                complete = true;
                            } else {
                                complete = false;
                            }
                            message = result.message;
                        },
                        error: function (data, status, e) {
                            complete = false;
                            message = e;
                        }

                    });

                    return [complete, message, ""];

                },

                closeOnEscape:true, bottominfo:"<?php langValue('info_yildizlialanlar'); ?>",editData: {
                    parent_id: function() {
                    return '<?php echo $parent_id; ?>';
                },
                parent_type: function() {
                    return '<?php echo $parent_type; ?>';
                },
                tur: function() {
                    return '<?php echo ONTO_TYPE_HIZMET; ?>';
                }
            }}, 
            {delData: {
                    parent_id: function() {
                        return '<?php echo $parent_id; ?>';
                    },
                    parent_type: function() {
                        return '<?php echo $parent_type; ?>';
                    }
            }}, 
            {} 
            );  
    jQuery("#list").jqGrid('filterToolbar');
} );
</script>

<h1>
<?php echo langValue('title_hizmetliste'); ?> 
<?php 
if(isset($sektor_baslik)) 
{
    echo '(' . $sektor_baslik . ')';
}
?>

<a href="<?php echo URL_YONETIMHIZMETEKLE; ?>" title="<?php echo langValue('form_ekle')?>" class="tooltip">
    <img src="<?php echo PATH_MEDIA_IMG_YONETIM; ?>icons/8_48x48.png" alt="" />
</a>
</h1>
<div class="pad20">
    <?php if(isset($info)) { ?>
    <div class="message success close">
        <h2><?php echo $info; ?></h2>
    </div>
    <?php } ?>
    <!-- Tabs -->
    <div id="tabs">
        <!-- First tab -->
        <div id="tabs-1">
            <table id="list"></table>
            <div id="pager"></div>
        </div>
    </div>
</div>
</body>
</html>

这里有什么问题?

服务器响应的错误处理主要有两种情况:1)响应包含一些错误HTTP代码,2)响应包含一些成功的HTTP代码。如果响应成功(从HTTP代码的角度),将执行回调
afterSubmit
。如果出现错误响应(从HTTP代码的角度),将执行回调
errorTextFormat
。所以你需要使用类似

{
    delData: {
        parent_id: function() {
            return '<?php echo $parent_id; ?>';
        },
        parent_type: function() {
            return '<?php echo $parent_type; ?>';
        }
    },
    errorTextFormat: function (jqXHR) {
        alert(jqXHR.responseText);
        return "Error code: " + data.status + ", Description: " + jqXHR.responseText;
    }
}
{
delData:{
父对象id:函数(){
返回“”;
},
父类型:函数(){
返回“”;
}
},
errorTextFormat:函数(jqXHR){
警报(jqXHR.responseText);
返回“错误代码:+data.status+”,说明:+jqXHR.responseText;
}
}
errorTextFormat
的确切代码取决于出现错误时的
jqXHR.responseText
的内容。在许多情况下,最好只使用
jqXHR.responseText
的子集,以获得可读性最好的结果。看


我建议您不仅要测试代码将显式生成错误响应的情况,还要测试另外两种情况:1)常见服务器错误(例如,如果您将使用不存在的
url
进行删除操作)2)客户端错误,如服务器超时。

好的,我试过了,但仍然不起作用。php代码返回false/0。但是警惕(jqXHR.responseText);什么也不提醒。此外,控制台中没有错误。@OnurGöker:我之前写过,响应的确切内容取决于您的服务器代码。以任何方式调用
afterSubmit
errorTextFormat
回调。第一个参数是
XMLHTTPRequest
的超集。它包含关于服务器响应的大部分完整信息。我建议您检查有关Fiddler2、Firebug或IE或Chrome开发工具的HTTP响应,并将结果与任何调试器内部的
jqXHR
进行比较。您应该能够处理
jqXHR
中的所有信息。根据chrome控制台,响应为0。@OnurGöker:“响应”下的意思是什么?HTTP响应是什么样子的(HTTP状态代码、HTTP头、HTTP正文等)?我写道,
jqXHR
是对象
jqXHR.responseText
通常包含HTTP正文。在某些情况下,
jqXHR.responseText
是未定义的(主要是在客户端Ajax错误的情况下)。什么是“0”?是不是
jqXHR.responseText
?无论如何,这是服务器返回的内容。结果与成功的反应不同吗?
{
    delData: {
        parent_id: function() {
            return '<?php echo $parent_id; ?>';
        },
        parent_type: function() {
            return '<?php echo $parent_type; ?>';
        }
    },
    errorTextFormat: function (jqXHR) {
        alert(jqXHR.responseText);
        return "Error code: " + data.status + ", Description: " + jqXHR.responseText;
    }
}