html跨域post请求,使用fetch跨域POST请求
首先,直接上代码:
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请求相关推荐
- fetch 跨域请求
CORS cors是"Cross-Origin Resource Sharing"的简称,是实现跨域的一种方式,相对于其他跨域方式,比较灵活,而且不限制发请求使用的method,以 ...
- fetch ajax cros,由 Fetch 跨域 看 CORS
最近在看 react 获取服务器数据时, 看到了一新的 API fetch, 上手来用了用,觉得十分好用.但是使用的过程中遇到了一些问题,还是决定整体的记录下. fetch 类似于 Ajax, 区别自 ...
- 跨域请求及解决跨域的方法
目录 跨域 同源策略 如何解决跨域 JSONP 跨源资源共享(CORS) HTTP 响应首部字段 Access-Control-Allow-Origin Access-Control-Expose-H ...
- springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格
springMVC获取异步请求的参数 JQuery发送异步请求回顾 <a href="javascript:void(0);" id="testAjax" ...
- php跨域请求解决方案_swoft2 -跨域与中间件详解
本方案用于开发环境,在生产环境不建议使用,生产环境可以使用 nginx 的反向代理 一.什么是跨域? 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS ...
- ajxs跨域 php_PHP项目中是如何处理Ajax请求与Ajax跨域的
PHP项目中是如何处理Ajax请求与Ajax跨域的 发布时间:2020-12-14 16:35:47 来源:亿速云 阅读:98 这期内容当中小编将会给大家带来有关PHP项目中是如何处理Ajax请求与A ...
- java httpclient 跨域_13、HttpClient服务器跨域请求
1 回调 1.1 回调函数 1.1.1 回调的原理图 说明:在架构设计中,回调的机制经常会被使用,课下自行学习. 1.2 JSON的数据结构 1.2.1 JSON官网介绍 1.2.2 Object格式 ...
- 中止请求和超时 跨域的HTTP请求 认证方式 JSONP
中止请求和超时 一个栗子在上传多少秒以后直接终止请求 // 发起HTTP GEt请求获取指定URl的内容 // 如果响应成功到达,将会传入responseText给回调函数 // 如果响应在timeo ...
- Cors跨域(一):深入理解跨域请求概念及其根因
Talk is cheap. Show me the money. 前言 你好,我是YourBatman. 做Web开发的小伙伴对"跨域"定并不陌生,像狗皮膏药一样粘着几乎每位同学 ...
最新文章
- win10电脑插耳机没声音_Win10如何录制电脑内部播放的声音
- 在iPhone程序上读取PDF文件
- mysql如何选择合适的引擎
- NGUI_2.6.3_系列教程六(序列帧动画)
- 获取IP及判断IP是否在区间
- php简单富文本,JS简易版富文本编辑器实现代码
- scala学习笔记三----scala函数式编程风格学习
- 定时获取AccessToken——萤石开放平台
- 有赞亿级订单同步的探索与实践
- c语言FD_SET头文件,select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
- android tv keep,Keep电视版
- uni-app:基于Vue的跨端框架(闪电演讲内容整理) | 掘金开发者大会
- 360网站卫士php-dos,360doskill.php
- cj.exceptions.CJException: Access denied for user XX to database 问题解决记录
- 内蒙古大学计算机学院团支部书记,内蒙古大学团委鼓励研支团勇做新时代弄潮儿...
- TCP/IP与OSI
- Java算法学习13——最近公共祖先
- 工业相机与镜头分辨率的匹配选型
- [机器学习入门] 李弘毅机器学习笔记-7 (Brief Introduction of Deep Learning;深度学习简介)
- Android Studio与夜神模拟器链接
热门文章
- 带你掌握Redis数据类型:string和Hash
- 下班约会时来了新需求,咋办?
- MindSpore实践:对篮球运动员目标的检测
- 【华为云技术分享】实战案例丨代码优化:如何去除context中的warning?
- 寒冬袭来,带你使用Flask开发一款天气查询软件吧
- 全面认识 RUST -- 掌控未来的雷电
- edpluse怎么运行c语言,[JSP]小菜也来学Editplus+Tomcat配置jsp运行环境
- 韩顺平php视频笔记51-52 数组的概念 创建 遍历
- ora-28500 ora-02063 mysql_oracle dblink mysql 报错ORA-28500
- java面向对象的理解_java胜于C语言,却又静态面向对象,简单?