原生JS实现Ajax跨域请求flask响应内容


Posted in Javascript onOctober 24, 2017

Ajax方法好,网站感觉跟高大上,但由于Js的局限,跨域Ajax无法实现,这里,讲一下解决办法,前提是需要能够自己可以控制flask端的响应。

主要技术:

修改服务器相应的相应头,使其可以相应任意域名。and设置响应头,使其能够相应POST方法。

实现代码:

这里先放flask代码:

from flask import make_response
@app.route('/test',methods=['get','post'])
def Test():
 if request.method=='GET':
  rst = make_response('aaa')
  rst.headers['Access-Control-Allow-Origin'] = '*' #任意域名
  return rst
 else:
  rst = make_response('bbb')
  rst.headers['Access-Control-Allow-Origin'] = '*'
  rst.headers['Access-Control-Allow-Methods'] = 'POST' #响应POST
  return rst

html测试代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<span id="ss">test get</span>
<button onclick="getAjax()">click</button>

 <p id="time">test post</p>
 <input type="submit" value="click" onclick="getPostAjax()">


<script>
 function getPostAjax() {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange=function () {
   if(xmlhttp.readyState=4 && xmlhttp.status ==200 ) {
    document.getElementById("time").innerText = xmlhttp.responseText;
   }
  }

  xmlhttp.open("POST","http://localhost:5000/test",true);
  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  #这句话可以发送post数据,没有此句post的内容无法传递
  xmlhttp.send();


 }

 function getAjax() {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange=function () {
   if(xmlhttp.readyState==4 && xmlhttp.status == 200){
    document.getElementById("ss").innerHTML=xmlhttp.responseText;
   }
  }
  xmlhttp.open("GET","http://localhost:5000/test",true);
  xmlhttp.send();
 }
</script>
</body>
</html>

无法控制响应头

对于这种情况,get请求可以使用jquery完成,post,无能为力。目前前后端均我一人编写,暂不考虑虑此情况。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript函数、方法、对象代码
Oct 29 Javascript
JS中toFixed()方法引起的问题如何解决
Nov 20 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
微信小程序使用wxParse解析html的方法教程
Jul 06 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
Jul 22 jQuery
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 #Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
Oct 24 #Javascript
基于js中this和event 的区别(详解)
Oct 24 #Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 #Javascript
使用JQuery实现图片轮播效果的实例(推荐)
Oct 24 #jQuery
通俗易懂地解释JS中的闭包
Oct 23 #Javascript
AngularJS 教程及实例代码
Oct 23 #Javascript
You might like
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
如何使用php实现评委评分器
2015/07/31 PHP
PHP链表操作简单示例
2016/10/15 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
小学生元旦感言
2014/02/26 职场文书
博士给导师的自荐信
2015/03/06 职场文书
社区重阳节活动总结
2015/03/24 职场文书
兴趣班停课通知
2015/04/24 职场文书
匿名信格式范文
2015/05/27 职场文书
庆七一晚会主持词
2015/06/30 职场文书