博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 core.js 解决 GraphQL Mock Server 跨域问题
阅读量:6815 次
发布时间:2019-06-26

本文共 610 字,大约阅读时间需要 2 分钟。

最近在做GraphQL相关的前端开发,由于后端进度较慢,所以使用了 Apollo 的 Mocking Server.
开发过程中遇到一个问题就是,前端通过 graphql访问 基于 express 的graphql mock server 的时候会报异常。在medium上找到一篇相关文章,翻译出来供大家参考。

通过报错应该可以确定是因为跨域的原因。
跨域未启用的时候究竟发生了什么导致了上面的报错?
实际上,CORS实际上是客户端和服务器之间通信流程的一种规范。在某些情况下,这个流程需要服务器处理HTTP OPTIONS请求,正如下面这个流程图可以所示:跨域资源请求需要额外的OPTIONS HTTP request.

问题所在就是,express-graphql 和apollo-server 不接受除了 GET 和 POST 以外的请求,所以请求失败导致异常出现:OPTIONS http://localhost:4000 405 (Method not allowed).
不过问题也很容易解决。由于 express-graphql 和 apollo-server 都是基于express.js的。所以可以用 这个middleware来修复这个问题。

首先安装 cors.js  

npm install cors --save复制代码
然后在 server.js里使用。

具体代码如下:

再次请求,即可正常访问:

 

转载地址:http://diczl.baihongyu.com/

你可能感兴趣的文章
神行者PD10-adb push逃脱ro权限
查看>>
JPA(四)之实体关系一对一
查看>>
如何使用羊驼自动生成缩略图的功能。
查看>>
定制化Azure站点Java运行环境(1)
查看>>
inotify用法简介及结合rsync实现主机间的文件实时同步
查看>>
php 判断手机登陆
查看>>
git 问题
查看>>
Fedora18设置终端快捷键 和 桌面快捷方式
查看>>
取消NavigationBar左右两边的空隙
查看>>
修改symfony sfDoctrineGuardPlugin验证密码的方法
查看>>
mysql 创建日期列之timestamp
查看>>
Visual Studio统计有效代码行数
查看>>
Qt连接Oracle数据库常见问题
查看>>
45个实用的JavaScript技巧、窍门和最佳实践
查看>>
sqlserver 2005 列字符串拼接
查看>>
用面向接口编程思想看找对象
查看>>
TWaver GIS在电信中的使用
查看>>
5 Servlet
查看>>
百度创始人李彦宏:要做最好的中文搜索引擎
查看>>
JavaScript强化教程-cookie对象
查看>>