我使用JQuery EasyUI的datagrid是一个非常基本的实现。JQuery EasyUI Datagrid与一个Web服务但不是另一个(相同的代码相同的服务器)
继续从我的previous SO post(我设法让JQuery EasyUI的datagrid使用JavaScript方法从我的webservice加载数据)。我现在有一个非常奇怪的问题,我不明白。
总之,一个web服务工作,另一个没有,但是代码是基本一致并且两个Web服务托管在同一台服务器上,并使用CORS所以我们没有相同的起源问题。我真的看不到代码和它们的执行之间有任何可见的区别。一个工作,另一个不工作...我只能假设它与服务器API响应有关,但是结构匹配,都是在同一个站点和同一个服务器上生成的......都很奇怪......我使用.NET Web API 2输出JSON。
这里的工作版本:
<table id="DGInProgress" class="easyui-datagrid"
data-options="singleSelect:true,collapsible:true,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'">
<thead>
<tr>
<th data-options="field:'MessageDated',width:80">Dated</th>
<th data-options="field:'PushNotificationMessage',width:100">Message</th>
</tr>
</thead>
</table>
这里有没有
<table id="DGInProgress" class="easyui-datagrid"
data-options="singleSelect:true,collapsible:true,url:'https://www.driverlive.co.uk/dispatch/api/BookingsInProgressLite/GetBookingsLite?dateTimeFrom=2014-01-01&dateTimeTo=2015-03-01&limit=100&json=true',method:'get'">
<thead>
<tr>
<th data-options="field:'BookingReference',width:80">BookingReference</th>
</tr>
</thead>
</table>
正如你所看到的,都遵循相同的标记,当我查看Web服务JSON太代码遵循相同的结构。
此外提琴手表明,“得到”已请求和JSON的返回。那么,为什么会在网格显示了PushMessages API的数据,而不是预订API ...
Cripes!是的,我现在在小提琴手看到这个。我想我真正的问题是为什么CORS不适合这个项目,但对另一个项目来说很好。我现在删除了引用,清理,重建,添加和重复,并重复检查所有在线资源,以确保我正确添加CORS - 尽管此标头仍缺少Access-Control-Allow-Origin值... – ChrisCurrie 2015-02-12 09:55:52