当ajax请求别的网站的数据时候,就是跨域请求。
但是一般的ajax就不行了,需要设置一下。
1.get方式
前台
type: "get",
url: "http://www.baidu.com", //请求的域名
async: false, // 默认为true,不同步
dataType: "jsonp", // 返回的数据格式 ,
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback:"success_jsonpCallback",//callback的function名称 如果想用success方法的话,就不用设置这个属性,否则success就不会起作用
后台
String callbackFunName = context.Request["callbackparam"];
context.Response.Write(callbackFunName + "(" + 数据+ ")");
2.post方式
post方式很简单
js和一般的请求一样。
只需要在后台设置返回头
context.Response.AddHeader("Access-Control-Allow-Origin", "*");
* 是表示所有的域名来请求都会响应,可以设置一个域名,比如 http://www.baidu.com 这样就只会响应这个域名的请求了。
但是IE不能返回,谷歌,火狐能行。