Struts2使用jQuery JSONP解決跨域問題
阿新 • • 發佈:2019-01-26
http://www.darrenfang.com/2013/12/jquery-jsonp-in-struts2/
在專案中需要新增一個數據分析模組,為了不影響現有業務,需要在另一臺伺服器上面進行相應的分析。首先想到的就是將分析
結果儲存為JSON格式,頁面通過AJAX獲取這些資料。那麼自然就涉及到AJAX跨域的問題,而使用JSONP解決跨域問題是最簡單的。
Struts 2支援JSONP,只需要在result中配置相應的屬性即可。
<action name="saleRank.*" class="saleRankAction" method="{1}"> |
指定callbackParameter引數即可。 頁面上面的呼叫程式碼為:
$(function |
需要注意的是Struts2中配置的callbackParameter值要和頁面AJAX呼叫引數中的jsonp的值一樣(程式碼中高亮的行)。
第9行的jsonpCallback這個引數可以不用加上,jQuery會自動生成一個名稱。特別注意,如果同一個頁面中有多次JSONP呼叫,最好將這個引數設定成不同的值,或者不加上這個引數。如果這個引數的值是一樣的,那麼後面的回撥函式會覆蓋前面的。
這樣就可以成功獲得資料了。