EXTJS 4.2 资料 跨域的问题
关于跨域,在项目开发中难免会遇到;之前笔者是用EXTJS3.0开发项目的,在开发过程中遇到了关于跨域的问题,但是在网上找到资料大部分都是ExtJs4.0以上版本的
在ExtJs中 例如:Ext.Ajax.request,这是我们常用的数据请求的方式,如下代码:
Ext.Ajax.request({
url: 'ServiceAPIORM.ashx?API=Save',
params: { name: '张三' },
method: 'POST',
success: function (req) {
alert("成功");
alert(req.responseText);
},
failure: function (req) {
alert(req.responseText);
},
});
但是改写成跨域:
Ext.Ajax.request({
url: 'http://localhost:3722/ServiceAPIORM.ashx?API=Save',//跨域链接
params: { name: '张三' },
method: 'POST',
success: function (req) {
alert("成功");
alert(req.responseText);
},
failure: function (req) {
alert(req.responseText);
},
});
这样请求一定不会成功的。
解决跨域:
1.在ExtJs4.2,有JsonP可进行解决,但是只能用Get的请求方式提交,所以还是有一定缺陷与不足的,这个逻辑是在 Ext.data.JsonP.reques({})的属性,callbackKey:"jsonPCallback", 作为参数传送后台,如图:

然后在后台接受在传送到前台,格式:Response : Ext.data.JsonP.callback1({success:true,data:'ssss'})

前端代码:
Ext.data.JsonP.request({
url: 'http://localhost:3722/ServiceAPIORM.ashx?API=Save',
timeout: ,
params: { name: '' },
callbackKey: "jsonPCallback",
success: function (req) {
alert("成功");
alert(req.responseText);
},
failure: function (result) {
alert(req.responseText);
}
});
后端代码:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; string method = context.Request.QueryString["API"];
switch (method)
{
case "Save":
Save(context);
break;
}
}
/// <summary>
///save
/// </summary>
/// <param name="context"></param>
private void Save(HttpContext context)
{
string jsonPCallback = "";
jsonPCallback = context.Request["jsonPCallback"];
context.Response.ContentType = "text/javascript";
context.Response.Write(jsonPCallback + "({success:true,data:'ssss'})");
}
Js 跨域,下面是关于Js跨域的链接
http://blog.csdn.net/iispring/article/details/7428069
ASP.NET交流群(1群):
EXTJS交流群(3群):
EXTJS 4.2 资料 跨域的问题的更多相关文章
- JS、JQuery和ExtJs的跨域处理
1.什么是跨域?跨域,JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a. ...
- ajax 跨域解决 网上资料
PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下 可以在页面定义一个调用方法,如下: 复制代码代码如下: function getData(){ $.getJSON(&qu ...
- 跨域 jsonp 和 CORS 资料
http://mp.weixin.qq.com/s/iAShnqvsOyV-Xd0Ft7Nl2Q HTML5安全:CORS(跨域资源共享)简介...ie67不要想了... http://www.cnb ...
- Extjs的form跨域提交文件时,无法获取返回结果
form文件表单跨域提交时,无法获取远程服务器的返回结果,form提交代码如下: form.submit({ url:'http://{remoteUrl}/hgisserver/wrds/file' ...
- cors跨域的前端实现---根据资料整合的
1.服务端 搁response中增加Access-Control-Allow-Origin:‘*’ eg: context.Response.AddHeader("Access-Contr ...
- JS-JQuery(JSONP)调用WebService跨域若干技术点
1.JSONP:JSON With Padding,让网页从别的网域获取信息,也就是跨域获取信息,可以当做是一种“工具”,大多数架构Jquery.EXTjs等都支持. 由于同源策略,一般来说位于 se ...
- 转(JSONP处理跨域事件)
前言: 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Soc ...
- JSON和JSONP有哪些区别,PhoneGap跨域请求如何实现
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...
- chrome浏览器下用jQuery的load函数来跨域加载页面,响应状态status为(canceled)是什么情况? JSON和JSONP,也许你会豁然开朗,含jQuery用例
http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html 问题来源:http://q.cnblogs.com ...
随机推荐
- javaweb学习总结一(eclipse常用快捷键、debug调试以及junit测试框架)
一:web的发展趋势1:C/S(客户端/服务器)结构向B/S(浏览器/服务器)结构发展,以后的电脑只需操作系统和浏览器即可.所有的服务都存储在服务器端,只需用户登录后从服务端同步数据,例如:看电影不需 ...
- hdu 1170 Balloon Comes!
Balloon Comes! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- CSS3 变形记
CSS3 变形 CSS3变形是一些效果的集合,比如平移,旋转,缩放和倾斜效果,每个效果都称为变形函数. transform transform属性向元素应用 2D 或 3D 转换.该属性允许我们对元素 ...
- JMS - Exceptions
The JMSException JMS defines JMSException as the root class for exceptions thrown by JMS methods. JM ...
- UITableView详解(转)
首先.对UITableView进行讲解,下面有对它进行实际的应用 UITableView 显示大型内容的列表 单行,多列 垂直滚动,没有水平滚动 大量的数据集 性能强大,而且普遍存在于iPhone的应 ...
- Linux 命令行技巧
这是一个linux常见命令的列表.那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝.所有的命令已在Fedora和Ubuntu下做了测试 命令 ...
- Contoso 大学 - 7 – 处理并发
原文 Contoso 大学 - 7 – 处理并发 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's W ...
- 使用gulp脚本配合TypeScript开发
目标:编写TypeScript时,保存即生成js文件. 使用npm安装以下组件 gulp gulp-rename through-gulp gulp-typescript 编写gulpfile ...
- Swift扩展(Extension)
在现有类和结构体的类型基础上,扩展新的功能. 语法: extension SomeType{ // new functionality to add to SomeType goes here } A ...
- HTML+CSS学习笔记 (7) - CSS样式基本知识
HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...