这是RESTful数据格式
{"user":[
{"id":"aupres","passwd":"aaa","age":45,"name":"father"},
{"id":"hwa5383","passwd":"bbb","age":40,"name":"mother"},
{"id":"julian","passwd":"ccc","age":15,"name":"son"}
]}
我的jqGrid客户端成功调用上述数据。下图显示了结果:
但是这段代码无法显示对jqGrid的响应。这是我的客户端代码
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>jqGrid Test</title>
<link rel="stylesheet" type="text/css" media="screen" href="jquery-ui.css"/>
<link rel="stylesheet" type="text/css" media="screen" href="ui.jqgrid.css"/>
<script type="text/javascript" src="jquery-2.2.0.min.js"></script>
<script type="text/javascript" src="jquery.jqGrid.min.js"></script>
</head>
<body>
<table id="grid"></table>
<div id="pager"></div>
<script type="text/javascript">
$(document).ready(function(){
$Grid = $("#grid");
$Grid.jqGrid({
mtype: "get",
url: "/JQueryJsonWeb/rest/services/getJson/aupres",
contentType: "text/json; charset=utf-8",
dataType: "json",
jsonReader : {
root : "user"
},
colNames : [
'id',
'passwd',
'age',
'name'
],
colModel : [
{ name : 'id', width:40, align:'center'},
{ name : 'passwd', width:80, align:'left' },
{ name : 'age', width:80, align:'left' },
{ name : 'name', width:80, align:'right' }
],
pager : '#pager',
rowNum : '10',
loadComplete : onloadComplete,
loadError : onloadError,
gridComplete : ongridComplete
});
function onloadComplete(jsonData, status) {
console.log(jsonData) **// This method shows the above image.**
}
function onloadError(status) {
console.log(status)
}
function ongridComplete() {
console.log("fiished!!!");
}
});
</script>
</body>
</html>
请阅读the comment到您之前的问题:
dataType: "json"
参数,将使用默认的datatype: "xml"
。contentType
也将被忽略。如果将其解释为XML数据,则返回错误。onloadError
而不是来自onloadComplete
。 onloadError
的参数是jqXHR
,textStatus
,errorThrown
。你包括了jqXHR对象的控制台输出。见the answer。var $Grid = $("#grid");
而不是$Grid = $("#grid");
。在顶部函数的开头包含"use strict"
指令有助于检测此类错误(请参阅here)。同样地,我建议你在每个语句后加上分号(参见console.log(status)
和console.log(jsonData)
)。