首页
赞助
时间轴
追番
留言
友人帐
关于
个人导航
更多
学习笔记
壁纸
Search
1
【台式机】2020-06-07,上半年618推荐配置(都是AMD)
953 阅读
2
21年下半年笔记本挑选
918 阅读
3
域名备案成功
789 阅读
4
2020.10 手机号码正则表达式
730 阅读
5
Mybatis缓存
695 阅读
日常
代码
❤心情
博客插件
电脑推荐
KMS服务
登录
Search
标签搜索
电脑推荐
组装电脑
博客插件
跨域访问错误
Maven
Mybatis
node.js
WebSocket
SpringBoot
Linux
跨域
网页背景效果
音乐播放器
看板娘
Pio插件问题
气泡通知
轻薄本
全能本
笔记本推荐
伪静态
旧梦未眠
累计撰写
71
篇文章
累计收到
13
条评论
今日撰写
0
篇文章
首页
栏目
日常
代码
❤心情
博客插件
电脑推荐
KMS服务
页面
赞助
时间轴
追番
留言
友人帐
关于
个人导航
学习笔记
壁纸
用户登录
登录
搜索到
3
篇与
的结果
2020-03-18
Nginx、Aapache、IIS设置跨域访问
今天在无意间看到了Pio看板娘插件无法跨域访问json的问题。jampang.cn/www.jampang.cn是两个域名,虽然它们指向的是同一个ip为什么同一个目录下会有跨域呢,Typecho设置中有个[站点地址],如果你设置的是jampang.cn那对于访问www.jampang.cn就是跨域了Nginx在nginx的配置项中写入#允许指定域名 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; 注意一般[*]写你允许跨域访问的域名。[*]表示允许任何请求。修改完记得重启Nginx服务Aapache找到配置文件 httpd.conf#LoadModule headers_module modules/mod_headers.so 去掉#在指定的Directory写下面的配置<Directory "/var/www/html"> AllowOverride None Require all granted Header set Access-Control-Allow-Origin * </Directory> 注意一般[*]写你允许跨域访问的域名。[*]表示允许任何请求。如果有.htaccess文件<IfModule mod_headers.c> Header set Access-Control-Allow-Origin: "*" Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS" Header set Access-Control-Allow-Headers: "X-Requested-With,Content-Type" </IfModule> 注意一般[*]写你允许跨域访问的域名。[*]表示允许任何请求。或者写全局配置,在httpd.conf下面添加<IfModule mod_headers.c> Header set Access-Control-Allow-Origin: "*" Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS" Header set Access-Control-Allow-Headers: "Content-Type" </IfModule> 注意一般[*]写你允许跨域访问的域名。[*]表示允许任何请求。详细跨域看:CSDN修改完记得重启Apache服务IIS在IIS控制面板中找到[HTTP响应标头],点进去在右侧点击添加分两次添加Access-Control-Allow-Headers:Content-Type Access-Control-Allow-Origin:* 注意一般[*]写你允许跨域访问的域名。[*]表示允许任何请求。修改完记得重启IIS服务
2020年03月18日
424 阅读
0 评论
0 点赞
2020-03-18
fetch跨域访问错误
服务端是node.js碰到一个很神奇的问题先看下具体报错信息Access to fetch at 'http://localhost:3000/books' from origin 'null' has been blocked by CORS policy: Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.当看到CORS,field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response这些字样的时候就知道是跨域访问的问题,关键是我设置了跨域访问。下面有我设置的具体代码。我们先接着往下看用以下代码访问时没有问题fetch('http://localhost:3000/books',{ method:'post', body:'uname=jam&pwd=123', headers:{ 'Content-type':'application/x-www-form-urlencoded' } }) .then(function(data){ //text方法属于fetchAPI的一部分,它返回一个Promise实例对象,用于获取后台返回数据 return data.text(); }) .then(function(data){ //这里才是最终的数据 console.log(data) }) 当我把post提交内容改成Json格式就出现了跨域访问的问题fetch('http://localhost:3000/books',{ method:'post', body:JSON.stringify({ uname:'jam', pwd:'4565' }), headers:{ 'Content-Type':'application/json' } }) .then(function(data){ return data.text() }) .then(function(data){ console.log((data)) }) 问题前端肯定没问题,都是跨域访问,怎么到了json就出问题以下是node.js的跨域设置// 设置允许跨域访问该服务 app.all('*', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header('Access-Control-Allow-Headers', 'Content-Type'); res.header('Access-Control-Allow-Headers', 'mytoken'); next(); }); 找来找去问题出现在倒数第二行。res.header('Access-Control-Allow-Headers', 'mytoken'); 我把这一行删了以后就可以正常访问
2020年03月18日
442 阅读
0 评论
0 点赞
2020-03-11
Ajax跨域访问报错
首先我们先来看下代码:Access to XMLHttpRequest at 'XXXXXX' from origin 'XXXXXXXXXXX' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present错误原因:本地路径和目标路径不是同一个域名下引起的跨域问题,并且,就算两个域名是同一个一级域名不同二级域名的时候,例如a.baidu.com和b.baidu.com是属于不同域的,也是会出现这个问题出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非响应报文包含了正确CORS响应头。aspx解决方法在服务器aspx页面头文件里加:<meta http-equiv="Access-Control-Allow-Origin" content="*" /> 详细访问:CSDNJava解决方法1.配置跨域访问的最简单的方式是用通配符 * ,(就是不安全,所有的请求都能跨域),如下代码:response.setHeader("Access-Control-Allow-Origin","*"); 2.这种方式不爽的地方就是前端浏览器不能带cookie信息(前端不能用带cookie的请求模式)如下:response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Credentials","true");//保持跨域 Ajax 时的 Cookie 服务器端 Access-Control-Allow-Credentials = true时,参数Access-Control-Allow-Origin 的值不能为 ‘*’ 。否则不起作用详细查看:CSDNphp解决方法<?php header('Content-Type: text/html;charset=utf-8'); header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求 header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型 header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段 if($_GET['name']) { $name = $_GET['name']; echo $name; } else { echo "请求成功但。。。。"; } ?> 原文地址:点击访问Node.js解决方法方法一//设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By",' 3.2.1') res.header("Content-Type", "application/json;charset=utf-8"); next(); }); 原文地址:点击访问方法二 使用express中间件corsconst cors=require('cors') app.use(cors()) 方法三 安装request安装npm install request -s 基本用法//在service中添加request const request=require('request') app.get('/cors',(req,res)=>{ request('http://XXXXXXXX/XXX',(err,response,body)=>{ if(!err){ res.send(body) } }) })
2020年03月11日
431 阅读
0 评论
0 点赞