基于OpenLayers的WebGIS程序二次开发实例教程
34516 人在学
Ajax的核心是Javascript对象XmlHttpRequest。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
jsonp是ajax提交的一种格式不会受跨域限制
一.前端发送
<button>11111</button>
<scriptsrc="https://cdn.static.runoob.com/libs/jQuery/1.8.3/jquery.js"></script>
<script>
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);
}
});
}
</script>
二.后台接受
#我就拿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的<script>元素是一个例外。