Django实现跨域的2种方法


Posted in Python onJuly 31, 2019

jsonp

方式一:指定返回方法

# 后端
def view(request):
  callback = request.GET.get('callback')
  return HttpResponse('%s("我要上鸭王")' %(callback,));
# javascript
function submitJsonp4() {
  $.ajax({
    url: 'http://127.0.0.1:9000/xiaokai.html',
    type: 'GET', //写post 没有用 只能发get
    dataType: 'jsonp', // 伪造ajax 基于script标签的创建和删除
    jsonp: 'callback', //告诉后台这个key
    jsonpCallback: 'func' //要返回这个函数名 ******8
  })
}
function func(arg) {
  console.log(arg);
}

方式二:不指定返回方法

function submitJsonp4() {
  $.ajax({
    url: 'http://127.0.0.1:9000/xiaokai.html',
    type: 'GET', //写post 没有用 只能发get
    dataType: 'jsonp', // 伪造ajax 基于script标签的创建和删除
    jsonp: 'callback', //告诉后台这个key
    // 思考 这时候的函数名为一个随机的字符串
    // 响应直接 调用success 对应的方法
    // 如果自己写了jsonpCallback的值
    // 不会报错,而是把自己写再拼上随机的 同样回调success对应的方法
    success:function(data){
      console.log()
    }
  })
}

cors

def view(request):
  response=HttpResponse(json.dumps(info))  
  # 添加白名单 允许哪个域名可以访问
  response["Access-Control-Allow-Origin"]="http://127.0.0.1:8006"
  #response["Access-Control-Allow-Origin"]="*"
  return response
$(".get_service").click(function () {

   $.ajax({
     url:"http://127.0.0.1:8008/service/",
     success:function (data) {
       console.log(data)
     }
   })
 })

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

Python 相关文章推荐
详细解析Python中__init__()方法的高级应用
May 11 Python
django实现前后台交互实例
Aug 07 Python
使用django-crontab实现定时任务的示例
Feb 26 Python
python flask中静态文件的管理方法
Mar 20 Python
python+pandas分析nginx日志的实例
Apr 28 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
python实现简单加密解密机制
Mar 19 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 Python
python实现自定义日志的具体方法
May 28 Python
Python自动化爬取天眼查数据的实现
Jun 15 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 #Python
在VS2017中用C#调用python脚本的实现
Jul 31 #Python
使用pip安装python库的多种方式
Jul 31 #Python
python实现几种归一化方法(Normalization Method)
Jul 31 #Python
python Django编写接口并用Jmeter测试的方法
Jul 31 #Python
python实现windows倒计时锁屏功能
Jul 30 #Python
python创建属于自己的单词词库 便于背单词
Jul 30 #Python
You might like
Cannot modify header information错误解决方法
2008/10/08 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
php微信开发之关注事件
2018/06/14 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
python3大文件解压和基本操作
2017/12/15 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
Shell如何接收变量输入
2016/08/06 面试题
测试驱动开发的主要步骤是什么
2014/12/10 面试题
UNIX特点都有哪些
2016/04/05 面试题
敬老院活动总结
2014/04/28 职场文书
新党章的学习心得体会
2014/11/07 职场文书