ajax的跨域请求_js解决跨域问题

ajax的跨域请求_js解决跨域问题什么是AJAX?AJAX是无需刷新页面就能够从服务器去的数据的一种方法,负责Ajax运作的核心对象是XMLHttpRequest(XHR)对象。同源策略是对XHR的一个主要约束,它为通信设置了“相同的域、相同的端口、相同的协议”这一限制。试图访问上述限制之外的资源都会引发安全错误,除非采用被认可的跨域解决方案。这个方案叫做CORS(Cross-OriginResourceSharing)跨源…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

什么是AJAX?

AJAX 是无需刷新页面就能够从服务器去的数据的一种方法,负责Ajax运作的核心对象是XMLHttpRequest(XHR)对象。

同源策略是对XHR的一个主要约束,它为通信设置了“相同的域、相同的端口、相同的协议”这一限制。

试图访问上述限制之外的资源都会引发安全错误,除非采用被认可的跨域解决方案。

这个方案叫做CORS(Cross-Origin Resource Sharing)跨源资源共享。

哪些访问属于跨域?

三种解决方案:

方案一:

//弊端:存在浏览器兼容的问题

079392267176

AJAX 跨域解决方案 – CORS

需要被请求方的服务端设置: Access-Control-Allow-Origin

切记:Access-Control-Allow-Origin 不可设置为 * ,设置为可访问的域名。

//设置可供访问的白名单

$white_list = [‘http://cdn.abc.com’,’http://abc.com’];

$_SERVER[‘HTTP_ORIGIN’] //表示请求方的域名

$http_origin = ”;

if (!empty($_SERVER[‘HTTP_ORIGIN’]) && in_array($_SERVER[‘HTTP_ORIGIN’],$white_list)) {

$http_origin = $_SERVER[‘HTTP_ORIGIN’];

//设置 header 信息

header(“Access-Control-Allow-Origin: {$http_origin}”);

header(“Access-Control-Allow-Methods”, “POST,GET”);

header(‘Access-Control-Allow-Credentials:true’); //允许访问Cookie

header(‘Access-Control-Allow-Headers : X-Requested-With’); //设置Headers

}

//执行代码逻辑…

另:如果请求的是html,在文件里加上meta标签。

方案二:

//弊端:不支持 POST 请求。

使用 JSONP 进行解决跨域问题,网上文章蛮多的。

方案三:

与方案一类似。

修改Nginx Apache 配置:

//Nginx

http {

……

add_header Access-Control-Allow-Origin *;

add_header Access-Control-Allow-Headers X-Requested-With;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

……

}

Apache :

……

Header set Access-Control-Allow-Origin *

大家可以根据自己的情况进行选择方案。

Thanks ~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172580.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月24日 下午12:36
下一篇 2022年8月24日 下午12:36


相关推荐

  • PyQt5 打包 没有icon图标

    PyQt5 打包 没有icon图标

    2021年11月22日
    50
  • [运算放大器系列]二、电压转4 – 20MA电流电路分析

    [运算放大器系列]二、电压转4 – 20MA电流电路分析[运算放大器系列]]二、电压转4-20MA电流电路分析偶然在网上看到一个4-20MA转换电路原理图如下:2.原理分析偶然在网上看到一个4-20MA转换电路原理图如下:2.原理分析RLR_LRL​为负载,分析电流流向如上图箭头所示可以得到假设Rloop上的压降为VlV_lVl​则:①Vi−V+R1=V+−(Vo−Vl)R2\frac{V_i-V_+}{R_1}=\frac{V_+-(V_o-V_l)}{R2}R1​Vi​−V+​​=R2V+​−(Vo​−Vl​)

    2022年5月29日
    38
  • flyweight设计模式_适配器模式菜鸟

    flyweight设计模式_适配器模式菜鸟亨元模式动机模式定义实例结构要点总结笔记。动机在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价—主要指内存需求方面的代价如何在避免大量细粒度对象问题的同时,让外部客户仍然能够透明地使用面向对象地方式来进行操作模式定义运用共享技术有效地支持大量细粒度地对象。实例每一个字符都是一个字体 字体对象Fontclass Font{private: //unique object key string key; //object

    2022年8月9日
    16
  • 如何使用matlab实现分段函数「建议收藏」

    如何使用matlab实现分段函数「建议收藏」实现如下的分段函数:m={t0≤t<1−t+21<t≤20.1其他m=\left\{\begin{array}{rcl}t&&{0\leqt<1}\\-t+2&&{1&am

    2022年4月20日
    408
  • 别让你的敏感词过滤系统把正常的文字过滤了!

    别让你的敏感词过滤系统把正常的文字过滤了!昨天csdn上发了一段文字评论(绝对非常规矩的文字),结果提示有敏感词,然后直接把我的博客和谐掉了。访问博客时提示:我们不去探讨过滤所谓敏感词的必要性和意义。既然做了这个系统,就要保证过滤质量,该过滤的过滤,不该过滤的词汇就不要过滤。如下这段话,作者实在没看出那里有不和谐因素。请读者指教啊:PS:会不会因为发了这篇文章博客再次被关闭啊!补充:经

    2022年5月10日
    38
  • 为什么优秀的程序猿都阅读源码

    为什么优秀的程序猿都阅读源码

    2022年2月13日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号