请教关于 easyui 的跨域问题

在一个php页面系统中嵌入一个easyui页面,在显示datagrid时,只出现表头,不能出现其内容,目前在火狐29.0以前的版本都不能读出数据,包括主流的ie,谷歌等都不能读取数据,最后查询到是这2个系统不是同一个网域造成浏览器的限制请求,网上有说用jsonp可以处理,但是它怎样与easyui的datagrid整合,而且请求一改,我整个系统都要随之更改,有没有好的解决方法??

1个回答

先用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">

DEMO:easyui datagrid跨域加载jsonp数据源

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问