1、使用jsonp的方式解决跨域请求的问题
我启动两个django项目,然后使用的端口不一样,在项目1中通过ajax发请求给项目2,然后接受项目2发送过来的数据
先看项目1的ajax的代码
$("#diandian").bind("click",function () { $.ajax(
{
url:"http://127.0.0.1:8081/service/",
type:"get",
dataType:'JSONP',
success:function (data) {
console.log(data)
} }
)
})
在看项目2的视图函数,这是固定套路
def services(request):
print("收到信息")
func = request.GET.get("callback")
print(func) return HttpResponse("{func}('{info}')".format(func=func,info='这里是皮皮1'))
2、下面在看下如何使用cors解决跨域请求问题
我们还是在项目1通过ajax发请求给项目2,这次就不需要使用伪ajax了,直接使用正常的ajax即可
$("#diandian").bind("click",function () { $.ajax(
{
url:"http://127.0.0.1:8081/service/",
type:"get",
{# dataType:'JSONP',#}
success:function (data) {
console.log(data)
} }
)
})
我们在看下项目2的视图函数,这个也是固定的套路
def services(request):
# print("收到信息")
# func = request.GET.get("callback")
# print(func)
#
# return HttpResponse("{func}('{info}')".format(func=func,info='这里是皮皮1')) info = "这里是皮皮2" ret = HttpResponse(info)
ret["Access-Control-Allow-Origin"] = "*"
return ret
至此我们可以通过两种方式实现跨域请求数据