中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java web如何支持jsonp

發布時間:2021-08-04 09:44:11 來源:億速云 閱讀:122 作者:小新 欄目:編程語言

小編給大家分享一下java web如何支持jsonp,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

跨域說明

跨域指請求和服務的域不一致,瀏覽器和H5的ajax請求有影響,而對服務端之間的http請求沒有限制。
跨域是瀏覽器攔截了服務器端返回的相應,不是攔截了請求。

jsonp跨域請求處理

Jsonp(JSON with Padding) 是 json的一種"使用模式",可以讓網頁從別的域名(網站)那獲取資料,繞過同源策略(若地址里面的協議、域名和端口號均相同則屬于同源),即跨域讀取數據。

jsonp:利用script標簽可以跨域,讓服務器端返回可執行的Javascript函數,參數為要回發的數據。可看做帶有回調函數的ajax請求。

js代碼

<script type="text/javascript"> 
$(function(){   
  /* 
  //簡寫形式,效果相同 
  $.getJSON("http://app.example.com/base/json.do?sid=1494&busiId=101&jsonpCallback=?", 
      function(data){ 
        $("#showcontent").text("Result:"+data.result) 
  }); 
  */ 
  $.ajax({ 
    type : "get", 
    async:false, 
    url : "http:/XXX", 
    dataType : "jsonp",//數據類型為jsonp 
    jsonp: "jsonpCallback",//服務端用于接收callback調用的function名的參數 
    jsonpCallback:"自定義回調函數名"
    success : function(data){ 
      alert(data.info) 
    }, 
    error:function(){ 
      alert('fail'); 
    } 
  });  
}); 
</script>

java后端處理代碼

@ResponseBody
  @RequestMapping(value = "/url", produces= MediaType.APPLICATION_JSON)
  public String test(
            HttpServletRequest request,
            HttpServletResponse response) throws Exception{
    String result = getResult();
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "private,no-cache,no-store,max-age=0");
    response.setDateHeader("Expires", 0);
    String str=request.getParameter("jsonpCallback");
    if (str==null||str.equals("")) {
      return result;
    } else {
      return str + "(" + result + ")";
    }
  }

CORS(協議跨域資源共享)(Cross-origin resource sharing)

它允許瀏覽器向跨源服務器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制 詳細介紹 戳此

  • Access-Control-Allow-Origin:* 允許所有域名的腳本訪問該資源

  • Access-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONS 運行什么方式訪問資源

  • Access-Control-Expose-Headers:x-requested-with 暴露的信息

以上是“java web如何支持jsonp”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

津南区| 西和县| 辽宁省| 兰坪| 彰化县| 吉安县| 义马市| 鄂州市| 偃师市| 凤城市| 木里| 邵东县| 津南区| 义马市| 平利县| 梁山县| 南江县| 加查县| 洪洞县| 文登市| 仁化县| 玛纳斯县| 安新县| 扬中市| 乐平市| 辉南县| 延津县| 沁水县| 饶阳县| 丰镇市| 灵武市| 宜宾市| 浦城县| 大埔区| 米易县| 二连浩特市| 景洪市| 镇平县| 武威市| 兴安盟| 淮南市|