1、跨域ajax調用,使用jQuery的getJSON,帶上callback=?
如:
客戶端代碼:
1 var url = "http://www.xxxxxx.com/ajax/add.do?callback=?";
2 var params={"content":"xxx"};
3 $.getJSON(url, params, function(data){
4 if(data.success) {
5 alert("成功~");
6 }
7 else {
8 alert(data.msg);
9 }
10 });
服務端代碼:
1 public String add(String callback, String content){
2 String json = buildJson
3 return callback + "(" + json + ")";
4 } 2、為防止外站惡意調用,增加權限認證過濾器,對未授權跨域調用的域名就行限制
過濾/ajax/**的所有連接,使用request.getHeader("REFERER");獲取來源地址,并判斷其域名是否已授權跨域訪問,and so on..
3、針對ie瀏覽器的隱私設置,跨域寫cookie無法實現,需要在寫cookie時增加
response.setHeader("P3P","CP=CAO PSA OUR");
(當然也可以修改ie的隱私策略,但是我們不可能傻傻的去要求用戶也這樣做,呵呵)
以上是我在項目中遇到的問題,記錄于此,有緣人得之,少走彎路