Django实现跨域的2种方法

yipeiwu_com7年前Python基础

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中实现将一张图片剪切成四份的方法

如下所示: import cv2 # [1]导入OpenCv开源库 import numpy as np image_path = "F:\\111111111111111111...

Python的Django框架中的URL配置与松耦合

现在是好时机来指出Django和URL配置背后的哲学: 松耦合 原则。 简单的说,松耦合是一个 重要的保证互换性的软件开发方法。 Django的URL配置就是一个很好的例子。 在Djan...

pygame实现贪吃蛇游戏(上)

pygame实现贪吃蛇游戏(上)

本文实例为大家分享了pygame贪吃蛇游戏的具体代码,供大家参考,具体内容如下 1.准备工作 我们已经初始化了一个400*400的界面,为方便看我们的游戏,我们先在界面上画40*40的格...

理解Python中的With语句

With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄...

Windows系统下PhantomJS的安装和基本用法

Windows系统下PhantomJS的安装和基本用法

1.安装 下载网址:http://phantomjs.org/download.html 选择合适的版本。然后解压即可。 环境变量的配置: 进入解压的路径: 例如我是解压在D:\Py...