`jsonp是ajax提交的一種格式不會受跨域限制` 一.前端發送 二.後臺接受 ...
jsonp是ajax提交的一種格式不會受跨域限制
一.前端發送
<button>11111</button>
<script src="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舉例,其他也大同小異
from django.shortcuts import render,HttpResponse,redirect
def test(request):
callback=request.GET.get('callback')
print(dict(request.GET)) #傳過來的內容他會打散,具體的自己看一下就知道
#註意點返回的字元串必須是 'callback+("返回的字元串")' 這樣的一個字元串,不然前端不會接收
return HttpResponse(callback+'("ok")')