1、mac本地打开不跨域的浏览器,方便开发1、在文档中新建一个文件夹,用于存放chrome不跨域的用户数据;cd/Users/hahahademac/Documents;//输入文档(或其他文件)mkdirchromeConfig;//创建文件夹存放新的浏览器数据2.执行如下命令ps:重新打开一个没有跨域限制的新chrome浏览器。open-n/Applications/Google\chrome.app/--args--disable-web-security--user-data-dir=/Users/LeoLee/Documents/chromeConfigps:重新打开一个新的chrome浏览器,包括crossFor域限制,只需将上面的disable换成enable即可,如下。open-n/Applications/Google\Chrome.app/--args--enable-web-security--user-data-dir=/Users/LeoLee/Documents/chromeConfig3.执行后,打开一个新的chrome浏览器,这个浏览器忽略跨域原则,会出现如下图:2.CORS(Cross-siteresourcesharing):目前跨域问题的主流解决方法第一种方法:nginx配置开启CORS1,vim进入服务器配置文件vim/etc/nginx/config.d2,启用nginx允许跨域解决方案;ps:下面的add_header部分是配置项。服务器{#听8880;#听80;听443sslhttp2;server_nametpdoc.cn;根/data/topay/tpdoc_api_new;indexindex.htmlindex.php;访问日志/var/log/nginx/access_erp.log;错误日志/var/log/nginx/error_erp.log;client_max_body_size8M;client_body_buffer_size128k;#将缓存位置的资产过期设置为MAX~*\.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?${expiresmax;log_not_found关闭;}location~*\.php${fastcgi_pass127.0.0.1:9000;proxy_read_timeout1200;proxy_connect_timeout1200;包括fastcgi.conf;}location/{add_header'Access-Control-Allow-Origin''*';add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';add_header'Access-Control-Allow-Headers''DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';#检查文件或目录索引文件是否存在,否则将其路由到索引。php.try_files$uri$uri//index.php;}}第二种方法:在后端代码中加入跨域配置ps:一般统一一个模块,每个模块引入这个跨域配置,不同语言不一样;其实就是请求头和对应的头来控制
