PHP开启CORS

Wesley13
• 阅读 765

CORS 定义

Cross-Origin Resource Sharing(CORS)跨来源资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。

php后台响应头部代码

//json头 
header("Content-type: application/json");

//跨域 
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: 跨域URL"); 

//CORS 
header("Access-Control-Request-Methods:GET, POST, PUT, DELETE, OPTIONS"); 
header('Access-Control-Allow-Headers:x-requested-with,content-type,test-token,test-sessid');

js请求代码

$.ajax({ 
    type: "POST", 
    url: "", 
    xhrFields: {withCredentials: true}, 
    crossDomain: true, 
    data: "", 
    beforeSend: function (XMLHttpRequest) {                                         XMLHttpRequest.setRequestHeader("test-token", 'abcd');                         XMLHttpRequest.setRequestHeader("test-sessid", 'abcd'); 
    }, 
    error: function (XMLHttpRequest) {
        if (XMLHttpRequest.status === 401) { } 
    }, 
    success: function () {}, 
    complete: function () {} 
});
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
室与 室与
3年前
Cors跨域解决
一、浏览器跨域问题产生1、跨源资源共享(CORS)中文文档:https://developer.mozilla.org/zhCN/docs/Web/HTTP/Access_control_CORS2、什么是浏览器跨域问题指的是浏览器不能执行其他网站的脚本。JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象,即同源策略。就好比我
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Nginx解决跨域问题(CORS)
前言CORS(CrossOriginResourceSharing)跨域资源共享,是一种允许当前域(domain)的资源(比如html/js/webservice)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(thesameoriginsecuritypolicy)浏览器会禁止这种跨域请求。 如:a.c
Wesley13 Wesley13
3年前
cors跨域之简单请求与预检请求(发送自定义请求头)
引子前后端分离这个问题,对cors的应用不断增多,暴露出的问题也接踵而至。正所谓虑一千次,不如去做一次。犹豫一万次,不如实践一次,本篇主要讨论在发送ajax请求,头部带上自定义token验证验证,暴露出的跨域问题。先说说定义CORS:跨来源资源共享(CORS)是一份浏览器技术的规范,提供了Web服务从不同网域传来沙盒脚
Wesley13 Wesley13
3年前
JAVA服务端配置允许跨域请求
CORS是一个W3C标准,全称是”跨域资源共享”(Crossoriginresourcesharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。1.加入CROS依赖的包<dependency<groupIdcom.thetransactionco
Stella981 Stella981
3年前
SpringBoot 实现前后端分离的跨域访问(CORS)
社区原文链接:http://www.spring4all.com/article/177(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.spring4all.com%2Farticle%2F177)序言:跨域资源共享向来都是热门的需求,使用CORS可以帮助我们快速实现跨域
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这