`

extjs和yii跨域问题解决

 
阅读更多
Extjs
只是跨域extjs并不需要特别的设置,但是默认并不支持cookie会话
app.js顶部加入
Ext.Ajax.setWithCredentials(true);
这项只能解决通过Ext.Ajax发起请求时发送Cookie的问题,proxy还要单独处理
要让proxy ajax默认发送cookie需要overrides Ext.data.proxy.Ajax,在overrides\data\proxy目录中创建Ajax.js,内容为
Ext.define('overrides.data.proxy.Ajax', {
override:'Ext.data.proxy.Ajax',
config: {
/**
* @cfg {Boolean} withCredentials
* This configuration is sometimes necessary when using cross-origin resource sharing.
* @accessor
*/
withCredentials: true
}
});
YII
index.php或controller中加入以下语句
if(isset($_SERVER['HTTP_ORIGIN']))
{
//$_SERVER['HTTP_X_REQUESTED_WITH']="XMLHttpRequest";
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header("Access-Control-Allow-Credentials: true");
}
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS')
{
if(isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']}");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
header('Access-Control-Max-Age: 86400');
//header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
//header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie, Authorization');
//header('Access-Control-Expose-Headers','Set-Cookie');
webapp()->end();
return;
}
分享到:
评论

相关推荐

    extJS4升级至extJS6.6所遇问题及解决方案

    项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议

    100行代码解决ExtJs4.1合并单元格问题

    100行代码解决ExtJs4.1合并单元格问题

    Ext下使用的跨域treeloader

    Extjs 原始的treeloader无法通过跨域读取jsonp数据,非常恼人,查了网上一些资料后自己写了一个。能够实现跨域的jsonp读取加载节点。没有太多时间调试,可能不完美。

    基于swfupload 和extjs的多文件(跨域)文件上传(java)

    综上所述,这个项目展示了如何利用Flash技术和JavaScript框架解决跨域文件上传问题,并通过Java后端进行文件处理。通过深入研究提供的源码,我们可以学习到Web开发中关于文件上传、跨域通信和前后端交互的具体实现...

    Extjs grid 中文排序问题修正

    总结起来,解决EXTJS Grid中文排序问题主要涉及到自定义排序函数和利用localeCompare方法。通过这种方式,我们可以确保EXTJS Grid在处理中文数据时能正确排序,提供更好的用户体验。在实际开发中,可能还需要考虑...

    Yii Framework 整合Extjs Direct实现RPC的方法

    总之,通过结合Yii Framework的强大学习和ExtJS Direct的便捷性,开发者可以轻松创建功能丰富的Web应用程序,提供高效的客户端-服务器通信。理解并熟练掌握这一整合技术,将极大地提升开发效率和应用的用户体验。

    基于Yii2和ExtJs的RBAC权限控制设计源码

    本Yii2 ExtJs5 RBAC项目基于PHP开发,包含83个文件,包括PHP源代码、PNG图片、Markdown文档、SQL脚本、GIT忽略...系统实现了Yii2框架下的ExtJs5前端界面和RBAC权限控制功能,界面友好,功能完善,适合用于权限管理。

    Yii2ExtJs5RBAC.zip

    ]导入数据yii migrate --migrationPath=@wsl/rbac/migrations完成配置和导入数据即可访问超级管理员帐号和密码username: drupecms password: drupecms控制器新建的Controller需要继承\wsl\rbac\base\Controller...

    解决extjs API文档不断Loading

    标题“解决extjs API...综上所述,解决ExtJS API文档加载问题需要多方面的排查,从网络环境、浏览器兼容性到源码分析,甚至可能需要借助社区和官方资源。对于开发者来说,具备良好的问题定位和解决能力是必不可少的。

    ExtJS内存泄漏问题详解

    关于ExtJS内存泄漏问题,一直是ExtJS开发人员困扰的问题,这篇文档很好地解释了什么是内存泄漏,为什么会产生内存泄漏。能够帮助程序员使用ExtJS开发出更高效安全的代码。

    extjs资料extjs资料extjs资料

    它们可能包含了最佳实践、常见问题解决方案以及复杂的组件使用示例,对提高开发效率非常有帮助。 4. **Ext+JS深入浅出**:这可能是一本深入探讨ExtJS的书籍,涵盖了高级主题,如性能优化、自定义组件开发和高级布局...

    extJs3升级extjs4方案

    ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容...ExtJS3 升级到 ExtJS4 需要修改大量代码,需要我们重新学习和适应 ExtJS4 的新特性和变化。

    EXTJS应用EXTJS应用EXTJS应用EXTJS应用

    `使用帮助.txt`文件通常提供关于如何使用应用程序的指南,包括功能介绍、操作步骤和常见问题解答,帮助用户更好地理解和操作EXTJS应用。 `洪越源代码--更多免费精品商业源码.url`看起来是一个链接,可能指向一个...

    ExtJs学习资料22-从服务器获取JSON数据并分页处理.doc

    在本篇ExtJs学习资料中,我们探讨了如何从服务器获取JSON数据并进行分页处理。...在实际项目中,你可能还需要考虑错误处理、用户交互、性能优化等方面的问题,以构建更加健壮和用户友好的数据展示界面。

    extjs流程界面设计器参考_ExtJS工作流设计器_extjs工作流_extjs_

    基于ExtJS的工作流设计器,利用了ExtJS的强大组件模型和交互性,为用户提供了一个直观的方式来创建和编辑流程图。这样的设计器通常包括以下关键组成部分: 1. **组件库**:设计师需要一个包含各种工作流元素(如...

    extjs图标大全extjs图标大全extjs图标大全extjs图标大全

    ExtJS是一款强大的JavaScript UI框架,它提供了丰富的组件和工具,帮助开发者构建功能丰富的、响应式的Web应用程序。在这些应用程序中,图标扮演着至关重要的角色,它们可以增强用户界面的视觉吸引力,提升用户体验...

    extjs4 ComboBox 点击下拉框 出现grid效果

    这种自定义的行为需要对EXTJS4的事件处理和组件嵌套有深入的理解。 首先,你需要监听ComboBox的`expand`事件,这个事件会在下拉框展开时触发。然后,在事件处理器中,你可以创建一个Grid实例,并设置其数据源。Grid...

    ExtJS 7.6 SDK trial

    10. **社区支持和更新**:随着7.6的发布,ExtJS社区也会提供大量的教程、讨论和解决方案,帮助开发者解决问题并分享最佳实践。 要深入学习ExtJS 7.6,你需要通过SDK中的示例和文档开始,熟悉新特性和改进,然后在...

    Ext.Ajax.request跨域

    这篇博客文章可能详细介绍了如何在ExtJS应用中解决这个问题。 同源策略是浏览器为了保障用户安全而设定的一项机制,它禁止了一个源(协议+域名+端口)的文档或脚本获取或操作另一个源的资源。当需要跨域请求时,...

Global site tag (gtag.js) - Google Analytics