在一个php页面系统中嵌入一个easyui页面,在显示datagrid时,只出现表头,不能出现其内容,目前在火狐29.0以前的版本都不能读出数据,包括主流的ie,谷歌等都不能读取数据,最后查询到是这2个系统不是同一个网域造成浏览器的限制请求,网上有说用jsonp可以处理,但是它怎样与easyui的datagrid整合,而且请求一改,我整个系统都要随之更改,有没有好的解决方法??
先用jquery的ajax指定dataType为jsonp加载好数据,调用datagrid的loadData方法加载jsonp返回的数据
$.ajax({ url: 'data.asp', dataType: 'jsonp', success: function (data) {
$('#dg').datagrid('loadData', data);
}, error: function () { alert('动态页有问题') }
});
或者自定义loader对象
<table class="easyui-datagrid" title="easyui datagrid使用jsonp数据" style="width:700px;height:250px"
data-options="fitColumns:true,collapsible:true,
loader:function(param,success,error){
$.ajax({ url: 'data.asp', dataType: 'jsonp', success: function (data) {
success(data);
}, error: function (xhr) {error(xhr.responseText) }
});}" id="dg">