我正在使用JQuery EasyUI的datagrid是一个非常基本的实现。
如果我使用内联方法加载数据一切正常并且数据显示(注意JSON API正在工作,因为我在服务器上启用了CORS,这不是问题):
<table class="easyui-datagrid"
data-options="url:'https://www.driverlive.co.uk/rest/api/PushMessage/GetPushDriverMessagesList?DeviceId=a99f8a977696bfb9&DateFrom=2014-10-27T00:00:00&DateTo=2015-11-11T00:00:00',method:'get',singleSelect:true,fit:true,fitColumns:true">
<thead>
<tr>
<th data-options="field:'PushDriverMessageDBID'" width="80">Item ID</th>
<th data-options="field:'PushDriverMessageGuid'" width="100">PushDriverMessageGuid</th>
<th data-options="field:'AppKey',align:'right'" width="80">AppKey</th>
<th data-options="field:'PushNotificationMessage',align:'right'" width="300">PushNotificationMessage</th>
<th data-options="field:'Sender'" width="150">Sender</th>
<th data-options="field:'MessageDated',align:'center'" width="50">MessageDated</th>
</tr>
</thead>
</table>
如果我尝试使用JavaScript方式加载数据网格,我没有数据,但我不明白为什么?
// Dispatching DataGrid
var JSONDispatchingURL = "https://www.driverlive.co.uk/rest/api/PushMessage/GetPushDriverMessagesList?DeviceId=a99f8a977696bfb9&DateFrom=2014-10-27T00:00:00&DateTo=2015-11-11T00:00:00";
$('#DGDispatching').datagrid({
url: JSONDispatchingURL,
columns: [[
{ field: 'PushDriverMessageDBID', title: 'PushDriverMessageDBID', width: 100 },
{ field: 'PushDriverMessageGuid', title: 'PushDriverMessageGuid', width: 100 },
{ field: 'AppKey', title: 'AppKey', width: 100 },
{ field: 'PushNotificationMessage', title: 'PushNotificationMessage', width: 100 },
{ field: 'Sender', title: 'Sender', width: 100 },
{ field: 'MessageDated', title: 'MessageDated', width: 100}
]]
});
我在这里与JSFiddle有相同的结果:http://jsfiddle.net/b6fxs2v2/1/
我已按照此处的说明操作:http://www.jeasyui.com/documentation/datagrid.php所以我有点失落......
答案 0 :(得分:0)
行。我解雇了Fiddler,它表明JQuery EasyUI用POST而不是GET来调用服务。因此,REST API以405响应。响应特别是{&#34;消息&#34;:&#34;请求的资源不支持http方法&#39; POST&#39;。&#34;}
我找到了类似的this SO post,然后修改了我的代码,如下所示。这就行了!
var JSONDispatchingURL = "https://www.driverlive.co.uk/rest/api/PushMessage/GetPushDriverMessagesList?DeviceId=a99f8a977696bfb9&DateFrom=2014-10-27T00:00:00&DateTo=2015-11-11T00:00:00";
$('#DGDispatching').datagrid({
url: JSONDispatchingURL,
method: 'get',
columns: [[
{ field: 'PushDriverMessageDBID', title: 'PushDriverMessageDBID', width: 100 },
{ field: 'PushDriverMessageGuid', title: 'PushDriverMessageGuid', width: 100 },
{ field: 'AppKey', title: 'AppKey', width: 100 },
{ field: 'PushNotificationMessage', title: 'PushNotificationMessage', width: 100 },
{ field: 'Sender', title: 'Sender', width: 100 },
{ field: 'MessageDated', title: 'MessageDated', width: 100 }
]]
});