文档章节

fetch - node 跨域踩过有水的坑

那小么
 那小么
发布于 2017/04/24 15:13
字数 232
阅读 48
收藏 0

记录下 用fetch跨域请求遇到的一个坑.

请求代码如下:

        fetch(httpXpath.senddata+"/demo",{
			  method: "POST",
			  mode: "cors",
			  headers: {
			    "Content-Type": "application/x-www-form-urlencoded",
			    "Content-length":sendjson.length,
			    "Connection":"keep-alive"
			  },
			  body: sendjson
			}).then(function(response) {
				return response.json();
			}).then(function(json) {
			  console.log(json);
			}).catch(function(e) {
			  console.log("Oops, error"+e);
			});

对于参数就不做解释了 后端代码如下:

app.post('/demo',function(req,res){
	res.setHeader('Content-Type','text/html');
	res.send({"aaa":"qwer"})
})

没错这样直接报跨域错误,错误代码:

值得一提的是 这是数据已经返回了,只是同源策略限制了浏览器,所以我们可以看到:

 

 

 

 

 

 

数据已经返回来了。这个跨域问题几经波折最终实现呢也很简单,既然跨域有问题那就直接解决跨域不去指定Content-Type类型了 修改node代码:

app.post('/demo',function(req,res){
	res.setHeader('Access-Control-Allow-Origin','*');
	res.send({"aaa":"qwer"})
})

ok 这个问题折腾3个小时也是没谁了..

最后欢迎大神指导

© 著作权归作者所有

那小么
粉丝 3
博文 10
码字总数 9804
作品 0
朝阳
前端工程师
私信 提问
Android Fetch请求问题

前言 作为前端开发人员,网络请求工具对大家来说肯定不陌生。iOS的AFNetworking,Android的okHttp等。但是对于RN来说,我们最常用到的就是js原生的Fetch请求了。 React Native提供了和web标准...

浅夏晴空
2018/12/04
0
0
Vue3.x + axios 跨域方案踩坑指北

缘起 最近实验课上需要重构以前写过的一个项目(垃圾堆),需要添加发生邮件提醒的功能,记得以前写过一个PHP版的实现,所以想把PHP写的功能整理成一个服务,然后在前端调用。但是这个项目是...

熊饲
07/04
0
0
不到50行代码搞懂跨域(CORS)

目标 使用 Hapi 框架在实例 CORS 场景下测试首部字段作用。这里不需要你掌握 Hapi 框架的使用,以及任何 Node 知识。 准备工作 你需要懂得哪方面的知识? 会使用 (Ajax) / 发起 HTTP 请求 基...

KennyWho
06/18
0
0
前端跨域问题解决方案(基于node与nginx)

1.跨域是什么   跨域是指去向一个为非本origin(协议、域名、端口任意一个不同)的目标地址发送请求的过程,这样之所以会产生问题是因为浏览器的同源策略限制。 那什么是同源策略呢? 同源策略...

sanseo
01/10
0
0
前后端分离--拿起node反向代理的武器(全记录)

做个勇往直前的人,做个勇往直前的前端 文/ziven 标题图/来自网络 前后端分离是个很重要的概念,尤其是今天的大前端时代。jsp,html嵌套在java web项目中似乎显得比较古老而厚重。当我们处在...

ziven先生
2017/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移动深度学习:人工智能的深水区

人工智能技术经历6年的快速发展,重新定义了很多行业的用户体验,而这仅是开始。 随着5G商用大规模落地,以及智能手机硬件性能越来越强、AIoT设备的快速普及,基于云-边缘-端算法和算力结构的...

博文视点Bv
28分钟前
4
0
vim 分屏 操作

$vim -On file file2 #大写O垂直分屏打开文件 $vim -on file file2 #小写水平打开 # n 表示分屏数,直接n等于文件个数 如果n小于文件,按顺序打开前面的n个,如果大于,打开空编辑页面 分屏快...

突突突酱
31分钟前
4
0
MySQL/Mariadb设置中文字符集(linux)

编辑/etc/my.cnf,添加以下设置 [mysql]default-character-set=utf8[mysqld]character_set_server=utf8[mysqld.safe]default-character-set=utf8[client]default-chara...

编程老陆
33分钟前
4
0
关于linux常用的挂载命令

挂载:就把一块磁盘(可以是光盘,U盘)绑定到一个空目录下面 一般情况下会挂载到mnt目录下面 挂载光盘(把光盘挂载到/mnt/cdrom这个目录中) mount -t iso9660 /dev/cdrom /mnt/cdrom 退出当前目录...

chenhongjiang
35分钟前
4
0
如何分享brain内容外部共享?几个需要知道的TheBrain问答

TheBrain(点击下载)是一款与众不同的思维导图软件,其所有信息通过一个又一个的节点进行联系,最终形成一个杂而不乱的网状结构。从头开始设计,让您捕获您的想法和信息在一个网络的联想,匹...

mnrssj
35分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部