Ajax的核心是Javascript对象XmlHttpRequest。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
jsonp是ajax提交的一种格式不会受跨域限制
一.前端发送
document.querySelector('button').onclick=function(){
$.ajax({
url:'http://localhost:8000/test',
type:'get',
dataType:'jsonp',
data:{//注意内容必须为字典
aaa:aaa//字典里内容前面key可以不加"",默认会给你加上""变成字符串但是不会当成变量
},//字典后面value有''为字符串,没有为变量
success:function(data){
console.log(data);
}
});
}
二.后台接受
#我就拿Python举例,其他也大同小异
fromdjango.shortcutsimportrender,HttpResponse,redirect
deftest(request):
callback=request.GET.get('callback')
print(dict(request.GET))#传过来的内容他会打散,具体的自己看一下就知道
#注意点返回的字符串必须是'callback+("返回的字符串")'这样的一个字符串,不然前端不会接收
returnHttpResponse(callback+'("ok")')
JSONP(JSONwithPadding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于server1.example.com的网页无法与不是server1.example.com的服务器沟通,而html的