js跨域访问问题
2016-03-17 15:26
316 查看
一.以js代码的方式给前台返回数据(以jsonp为例)
1.使用jsonp
例:
客户端:
$.ajax({
url: url,
data: "p1=1&p2=2&callback=?",
type: "get",
processData: false,
timeout: 15000,
dataType: "jsonp", // not "json" we'll parse
jsonp: "jsonpcallback",
success: function(result) {
alert(result.value1);
}
});
服务器端:
string callback = Request["callback"];
string v1="1";
string v2="2";
string response = "{\"value1\":\"" + v1 + "\",\"value2\":\"" + v2 + "\"}";
string call = callback + "(" + response + ")";
Response.Write(call);
Response.End();
jquery+jsonp只能发送get请求
二.利用Access-Control-Allow-Origin
客户端无需变动
简单的请求即可
只使用 GET、POST 进行的请求,这里的POST只包括发送给服务器的数据类型(Content-Type)必须是 application/x-www-form-urlencoded、multipart/form-data 或者 text/plain中一个。(此处无json类型)
服务器端:
this.getResponse().addHeader("Access-Control-Allow-Origin","*");
//'*'表示允许所有域名访问,可以设置为指定域名访问,多个域名中间用','隔开
1.使用jsonp
例:
客户端:
$.ajax({
url: url,
data: "p1=1&p2=2&callback=?",
type: "get",
processData: false,
timeout: 15000,
dataType: "jsonp", // not "json" we'll parse
jsonp: "jsonpcallback",
success: function(result) {
alert(result.value1);
}
});
服务器端:
string callback = Request["callback"];
string v1="1";
string v2="2";
string response = "{\"value1\":\"" + v1 + "\",\"value2\":\"" + v2 + "\"}";
string call = callback + "(" + response + ")";
Response.Write(call);
Response.End();
jquery+jsonp只能发送get请求
二.利用Access-Control-Allow-Origin
客户端无需变动
简单的请求即可
只使用 GET、POST 进行的请求,这里的POST只包括发送给服务器的数据类型(Content-Type)必须是 application/x-www-form-urlencoded、multipart/form-data 或者 text/plain中一个。(此处无json类型)
服务器端:
this.getResponse().addHeader("Access-Control-Allow-Origin","*");
//'*'表示允许所有域名访问,可以设置为指定域名访问,多个域名中间用','隔开
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享