Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs axios修补程序在chrome中不起作用_Reactjs_Axios - Fatal编程技术网

Reactjs axios修补程序在chrome中不起作用

Reactjs axios修补程序在chrome中不起作用,reactjs,axios,Reactjs,Axios,我正在尝试使用React axios更新drupal站点上的一些文章。获取和发布请求可以工作,但我无法让修补程序工作。通过邮递员发送补丁请求效果很好。我使用axios时出现以下错误: 中的访问控制允许方法不允许方法修补程序 飞行前反应 我做错了什么 这是我的密码: editState(nid, value){ let node = { "type":[{"target_id":"article","target_type":"node_type"}], "bo

我正在尝试使用React axios更新drupal站点上的一些文章。获取和发布请求可以工作,但我无法让修补程序工作。通过邮递员发送补丁请求效果很好。我使用axios时出现以下错误:

中的访问控制允许方法不允许方法修补程序 飞行前反应

我做错了什么

这是我的密码:

  editState(nid, value){
    let node = {
      "type":[{"target_id":"article","target_type":"node_type"}],
      "body":[{"value": value}]
    }
    let config = {
      headers: { 'Content-Type': 'application/json' }
    }
    axios.patch('http://localhost:8888/d8restapi/node/' + nid + '?_format=json',node,config)
    .then((success) => {
      console.log(success);
    }).catch((error) => {
      console.log(error);
    });
  }
以下是我的选项请求标题:

  • 请求URL:
  • 请求方法:选项
  • 状态代码:200 OK
  • 远程地址:[::1]:8888
  • 推荐人策略:降级时无推荐人
  • 响应头
  • 视图源
  • 允许:获取、发布、删除、修补
  • 缓存控制:必须重新验证,无缓存,专用
  • 连接:保持活力
  • 内容语言:英语
  • 内容长度:0
  • 内容类型:application/json
  • 日期:2017年11月3日星期五21:08:24 GMT
  • 过期时间:1978年11月19日星期日格林尼治标准时间05:00:00
  • 保持活动状态:超时=5,最大=98
  • 服务器:Apache/2.2.31(Unix)mod_wsgi/3.5 Python/2.7.12 PHP/7.0.10
  • mod_ssl/2.2.31 OpenSSL/1.0.2hdav/2 mod_fastcgi/2.4.6 mod_perl/2.0.9
  • Perl/v5.24.0
  • X-Content-Type-Options:nosniff
  • X-Content-Type-Options:nosniff
  • X-Frame-Options:SAMEORIGIN
  • X-Generator:Drupal 8()
  • X-Powered-By:PHP/7.0.10
  • X-UA-兼容:IE=edge
  • 请求头
  • 视图源
  • 接受:/
  • 接受编码:gzip,deflate,br
  • 接受语言:恩,恩,我们;q=0.8,sv;q=0.6,fi;q=0.4
  • 访问控制请求头:内容类型
  • 访问控制请求方法:补丁
  • 连接:保持活力
  • 主机:localhost:8888
  • 来源:
  • 推荐人:
  • 用户代理:Mozilla/5.0(Macintosh;英特尔Mac OS X 10_12_6)
  • AppleWebKit/537.36(KHTML,像Gecko)Chrome/61.0.3163.100 Safari/537.36
  • 查询字符串参数
  • 视图源
  • 查看URL编码
  • _格式:json
编辑:在Firefox上测试过,它可以工作,但在Chrome上不工作!清空缓存并重新启动,然后进行硬重新加载,但没有结果

编辑2:问题已解决。我在Chrome中安装了另一个CORS插件。如果任何人在使用其他CORS插件时遇到同样的问题,以下方法都有效:


我也经历过同样的事情。像你一样,仅仅是react、axios和chrome的组合不起作用

我将我的CORS chrome扩展更改为以下版本,从而解决了这个问题:

我在无服务器和reactjs上也有类似的经验。首先我认为问题出在无服务器CORS配置上,但实际上我忘了放

e.preventDefault()

提交表格时。结果,请求被取消,因为页面已加载,但响应尚未返回。

听起来问题在于Drupal站点不允许修补程序,尽管它在Postman中工作很奇怪。你能在浏览器开发工具中检查补丁请求之前对同一URL发出的选项请求,并添加对你的问题的响应吗?用选项请求更新了问题。奇怪的是,它在Firefox中也有效,但在Chrome中无效。你试过将请求从Chrone导出到Postman吗?您可以右键单击网络选项卡中的请求并选择“复制为卷曲”,然后在Postman中以纯文本形式导入它。我只看到网络选项卡中的选项请求。