首先,直接上代码:

var url='http://localhost/test';

fetch(url, {

method: "POST",

mode: "cors",

headers: {

"Content-Type": "application/x-www-form-urlencoded"

},

body: 'key1=value2&key2=value2'

}).then(function(res) {

console.log("Response succeeded?", JSON.stringify(res.status));

console.log(JSON.stringify(res));

}).catch(function(e) {

console.log("fetch fail", JSON.stringify(e));

});

亲测成功!

如果没有成功,请继续往下看。

其实这段代码写出来之后,在网上找找也找到了类似的正确的代码,但也有很多的错误代码,所以写的时候花费了很大的精力。试过正确的,也试过错误的,但都没有成功提交数据。原因就是虽然我们用cors提交了跨域请求,但服务器端不接收跨域请求。这时候就需要在服务器端添加header,允许跨域。由于我们项目用的是laravel,所以在写跨域的时候,先写了laravel添加cors跨域请求中间件的博客,详情请参见《 Laravel增加CORS中间件完成跨域请求》。

跨域是做WEB经常遇到的一个问题,一方面我们想要提高网站的安全性,一方面因为业务需要,又必须使用跨域,所以这就需要程序员们不断的努力了。而jsonp就是大家努力的结果之一。

Ajax中POST跨域请求想必大家都知道怎么做,没错,就是jsonp。jsonp是一种以GET方式发送POST请求并实现跨域请求的方法,用法也很简单,请自行百度。

而与jQuery相比,fetch方法与jQuery.ajax()的主要区别在于:

fetch()方法返回的Promise对象并不会在HTTP状态码为404或者500的时候自动抛出异常,而需要用户进行手动处理

默认情况下,fetch并不会发送任何的本地的cookie到服务端,注意,如果服务端依靠Session进行用户控制的话要默认开启Cookie

html跨域post请求,使用fetch跨域POST请求相关推荐

  1. fetch 跨域请求

    CORS cors是"Cross-Origin Resource Sharing"的简称,是实现跨域的一种方式,相对于其他跨域方式,比较灵活,而且不限制发请求使用的method,以 ...

  2. fetch ajax cros,由 Fetch 跨域 看 CORS

    最近在看 react 获取服务器数据时, 看到了一新的 API fetch, 上手来用了用,觉得十分好用.但是使用的过程中遇到了一些问题,还是决定整体的记录下. fetch 类似于 Ajax, 区别自 ...

  3. 跨域请求及解决跨域的方法

    目录 跨域 同源策略 如何解决跨域 JSONP 跨源资源共享(CORS) HTTP 响应首部字段 Access-Control-Allow-Origin Access-Control-Expose-H ...

  4. springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格

    springMVC获取异步请求的参数 JQuery发送异步请求回顾 <a href="javascript:void(0);" id="testAjax" ...

  5. php跨域请求解决方案_swoft2 -跨域与中间件详解

    本方案用于开发环境,在生产环境不建议使用,生产环境可以使用 nginx 的反向代理 一.什么是跨域? 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS ...

  6. ajxs跨域 php_PHP项目中是如何处理Ajax请求与Ajax跨域的

    PHP项目中是如何处理Ajax请求与Ajax跨域的 发布时间:2020-12-14 16:35:47 来源:亿速云 阅读:98 这期内容当中小编将会给大家带来有关PHP项目中是如何处理Ajax请求与A ...

  7. java httpclient 跨域_13、HttpClient服务器跨域请求

    1 回调 1.1 回调函数 1.1.1 回调的原理图 说明:在架构设计中,回调的机制经常会被使用,课下自行学习. 1.2 JSON的数据结构 1.2.1 JSON官网介绍 1.2.2 Object格式 ...

  8. 中止请求和超时 跨域的HTTP请求 认证方式 JSONP

    中止请求和超时 一个栗子在上传多少秒以后直接终止请求 // 发起HTTP GEt请求获取指定URl的内容 // 如果响应成功到达,将会传入responseText给回调函数 // 如果响应在timeo ...

  9. Cors跨域(一):深入理解跨域请求概念及其根因

    Talk is cheap. Show me the money. 前言 你好,我是YourBatman. 做Web开发的小伙伴对"跨域"定并不陌生,像狗皮膏药一样粘着几乎每位同学 ...

最新文章

  1. win10电脑插耳机没声音_Win10如何录制电脑内部播放的声音
  2. 在iPhone程序上读取PDF文件
  3. mysql如何选择合适的引擎
  4. NGUI_2.6.3_系列教程六(序列帧动画)
  5. 获取IP及判断IP是否在区间
  6. php简单富文本,JS简易版富文本编辑器实现代码
  7. scala学习笔记三----scala函数式编程风格学习
  8. 定时获取AccessToken——萤石开放平台
  9. 有赞亿级订单同步的探索与实践
  10. c语言FD_SET头文件,select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
  11. android tv keep,Keep电视版
  12. uni-app:基于Vue的跨端框架(闪电演讲内容整理) | 掘金开发者大会
  13. 360网站卫士php-dos,360doskill.php
  14. cj.exceptions.CJException: Access denied for user XX to database 问题解决记录
  15. 内蒙古大学计算机学院团支部书记,内蒙古大学团委鼓励研支团勇做新时代弄潮儿...
  16. TCP/IP与OSI
  17. Java算法学习13——最近公共祖先
  18. 工业相机与镜头分辨率的匹配选型
  19. [机器学习入门] 李弘毅机器学习笔记-7 (Brief Introduction of Deep Learning;深度学习简介)
  20. Android Studio与夜神模拟器链接

热门文章

  1. 带你掌握Redis数据类型:string和Hash
  2. 下班约会时来了新需求,咋办?
  3. MindSpore实践:对篮球运动员目标的检测
  4. 【华为云技术分享】实战案例丨代码优化:如何去除context中的warning?
  5. 寒冬袭来,带你使用Flask开发一款天气查询软件吧
  6. 全面认识 RUST -- 掌控未来的雷电
  7. edpluse怎么运行c语言,[JSP]小菜也来学Editplus+Tomcat配置jsp运行环境
  8. 韩顺平php视频笔记51-52 数组的概念 创建 遍历
  9. ora-28500 ora-02063 mysql_oracle dblink mysql 报错ORA-28500
  10. java面向对象的理解_java胜于C语言,却又静态面向对象,简单?