浏览器拦截跨域请求处理方法(同源策略不允许读取XXX上的远程资源)

直接了当了说,解决此类问题,最直接的方法就是,就是给被请求的服务器,添加HTTP头响应头,这里提供两种添加HTTP头的方法:

    第一种,就是在程序中添加HTTP头:

    Response.AddHeader("Access-Control-Allow-Origin", "*");

 

  添加此段代码的目的很简单,也就是告诉浏览器,这个资源是运行远程所有域名访问的。当然,此处的*也可以替换为指定的域名,出于安全考虑,建议将*替换成指定的域名。

   第二种,就是在服务器上,添加HTTP响应头。在这里,我们就以IIS6.0为例:

   在被请求的网站上,设置HTTP头,添加“

   "Access-Control-Allow-Origin", "*"

   值为:*或指定的域名。

 第三种,利用JSONP来达到目的,如:

 

$.tool.JSONPDataGet = function (Class, Cmd, _attr, _Init,_callBack, _completeCallBack, _errorCallBack) {
if (_Init) { _Init(_Init); }
if (_attr != '') _attr = '&' + encodeURI(_attr);
var strPage = 'xxxx;
$.ajax({
url: strPage,
type: 'GET',
dataType: 'jsonp',
jsonp: 'jsonCallBack',
cache: false,
context: this,//JSONP在本函数里回调
success: function (_Data) {
if (_callBack) { _callBack(_Data); }
},
complete: function (XMLHttpRequest, textStatus, errorThrown) {
if (_completeCallBack) { _completeCallBack(); }
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (_errorCallBack) { _errorCallBack(); }
}
});
};

posted @   littlewrong  阅读(771)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示