提问人:Roberto Delgado 提问时间:4/27/2023 更新时间:5/18/2023 访问量:30
在 Fat-Free Framework 中使用 jTable 时失败
Fail when using jTable in Fat-Free Framework
问:
我正在尝试在 Fat-Free Framework 中使用 jTable 加载数据,但我不能。网页上有一个按钮来执行上传:
<form>
<fieldset>
<legend>Requests - Filter</legend>
<label for="modali">Modality:</label><input type="text" id="modali" name="modali" style="width: 5ex"/>
<input type="submit" id="requestFilter" value="Search"/>
</fieldset>
</form>
<!-- table -->
<div id="instancias"></div>
该页面还加载了一个名为“career.js”的javascript文件,该文件控制按钮操作和数据加载:
function career() {
$('button, input[type="button"], input[type="reset"], input[type="submit"]').button();
$('select')
.selectmenu();
$('input:text, input:password, input[type="email"]')
.button()
.off('mouseenter')
.off('mousedown')
.off('keydown')
.css('cursor', 'default');
//'instancias' (requests) table
$('#instancias').jtable({
defaultDateFormat: 'dd-mm-yy',
defaultSorting: 'ins.dni ASC',
deleteConfirmation: false,
jqueryuiTheme: true,
multiSorting: true,
pageSize: 100,
paging: true,
sorting: true,
title: 'Instancias',
actions: {
listAction: function (postData, jtParams) {
return $.Deferred(function ($dfd) {
$.ajax({
url: '/cgt/antiguedad?menuOpt=cgt_ant&accion=select&jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
type: 'POST',
dataType: 'json',
data: postData,
success: function (data) {
$dfd.resolve(data);
},
error: function () {
$dfd.reject();
}
});
});
},
createAction: 'none',
updateAction: 'none',
deleteAction: 'none'
},//end actions
fields: {
codpro: {title: 'Prv.', width: '5%', options: {'03': 'Alicante', '12': 'Castellón', '46': 'Valencia'}},
codcue: {title: 'Crp.', width: '5%', key: true},
dni: {title: 'DNI', width: '7%', key: true},
apell1: {title: '1º Apellido', width: '10%'},
apell2: {title: '2º Apellido', width: '10%'},
nombre: {title: 'Nombre', width: '10%'},
codmod: {title: 'Mod.', width: '5%', type: 'date'},
calmod: {title: 'Mod. *', width: '5%', type: 'date', edit: false},
pto111: {title: '1.1.1', width: '7%', defaultValue: 0},
cal111: {title: '1.1.1 *', width: '7%', defaultValue: 0, edit: false},
pto112: {title: '1.1.2', width: '7%', defaultValue: 0},
cal112: {title: '1.1.2 *', width: '7%', defaultValue: 0, edit: false}
}//end fields
});//end 'instancias' table
//$('#instancias').jtable('load');
//Filtering
$('#requestFilter').click(function (e) {
e.preventDefault();
$('#instancias').jtable('load', {menuOpt:'cgt_ant', accion:'select', modali:$('#modali').val()});
});//end filtering
}//end 'career' function
career();
但是,由于某种原因,当单击按钮时,我总是收到此jTable错误:“与服务器通信时发生错误。
我的路由.ini文件包含以下内容:
...
GET /cgt/antiguedad=Gtc->career
POST /cgt/antiguedad [ajax] = Gtc->career
...
但似乎从未达到这一点。
欢迎任何帮助。提前致谢。
注意:如果我将职业.js网址直接粘贴到浏览器(http://localhost:8080/preceptor/cgt/antiguedad?menuOpt=cgt_ant&accion=select)中,则会获得数据。
我尝试将URL字符串设置为listAction,但没有结果。
答:
0赞
ikkez
5/18/2023
#1
您的 POST 路由仅设置为 Ajax。因此,请确保 JS 中的 ajax 调用确实发送了以下标头:
X-Requested-With: XMLHttpRequest
此外,通过 post 发送 json 是非标准的,可能需要您以不同的方式处理传入的数据。从 BODY 框架 var 自行解析 json,或发送带有内容类型标头的 ajax 请求,或者application/x-www-form-encoded
multipart/form-data
上一个:如何设置在查询路径中包含点的路由
下一个:具有关联树的多维数组
评论