jsop跨域請求需要注意幾點:
1、請求方法必須為get方法
2、請求需要加上datatype:'jsonp' jsonpcallback:'callback'
3、後台方法也是設定的如下,
string callback =
this
.getrequest().getparameter(
"callback"
);
string jsoncallback = callback + "()"
; printwriter out = this
.getresponse().getwriter();
out.print(jsoncallback);
out.flush();
out.close();
4、前端 jsonpcallback要與後台列印流printwriter前面的方法一致:
jsonpcallback:'callback' 和string jsoncallback = callback + "()",callback方法一致
5、這種情形少見,我的jq是1.11.1版本的,後台是php,之前的四個都沒問題,但是也是出不來,後來在url上也加了&callback=?。我的前端請求如下:
var urls = "網域名稱/plus/digg_ajax.php?action=good&id=" + d + "&callback=?";
$.ajax(,
datatype:'jsonp',
jsonpcallback:'jsoncallback',
success:function(res)
});其他情況我暫時沒遇到,歡迎交流~
JS跨域請求 Ajax跨域請求JSONP
前兩天被問到ajax跨域如何解決,還真被問住了,光知道有個什麼jsonp,迷迷糊糊的沒有說上來。抱著有問題必須解決的態度,我看了許多資料,原來如此。為何一直知道jsonp,但一直迷迷糊糊的不明白呢?網上那些介紹資料都寫的太複雜了!我是能多簡單就多簡單,爭取讓你十分鐘看完!ajax之所以需要 跨域 罪...
JS跨域請求 Ajax跨域請求JSONP
前兩天被問到ajax跨域如何解決,還真被問住了,光知道有個什麼jsonp,迷迷糊糊的沒有說上來。抱著有問題必須解決的態度,我看了許多資料,原來如此。為何一直知道jsonp,但一直迷迷糊糊的不明白呢?網上那些介紹資料都寫的太複雜了!我是能多簡單就多簡單,爭取讓你十分鐘看完!ajax之所以需要 跨域 罪...
JSONP跨域請求
看到jsonp我們會很自然的想到json,但它們卻有很大的不同,json是一種輕量級的資料交換格式,而jsonp可以說是一種非官方的資料互動協議。jsonp json with padding 利用jsonp可以從別的網域名稱下獲取資料,即跨域獲取資料。由於同源策略不允許xmlhttprequest...