日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js跨域调用报表

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js跨域调用报表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于效率的原因,將頁面和報表部署在不同服務器上,在頁面中引入報表。此時如果想通過頁面上的按鈕對報表進行操作就會出現問題,無法調用報表的函數,IE提示沒有權限,這就是javascript的跨域問題。Javascript出于安全性考慮,是不允許跨域調用其他頁面的對象的。所以上述看似很普通的操作沒辦法實現。
這樣的需求應該是很普遍的,這也是一個經典的問題,網上相關文章很多但是沒有一個完美的解決方案,只能根據自己的需要來進行設置。
現在我們使用apache反向代理ProxyPassmod_rewrite,實現頁面按鈕跨域調用潤乾報表函數

具體設置方法:
先安裝2.2版的apache服務器。打開配置文件conf\httpd.conf

先啟用相關的功能,去掉這幾項前面的“#”
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule rewrite_module modules/mod_rewrite.so

(在文件的最下面添加下面的幾個設置)

(頁面要通過apache訪問)
<IfModule mod_rewrite.c>
?RewriteEngine On
?RewriteRule ^/show/(.*)$?
http://192.168.0.84:8080/show/$1
</IfModule>

(遇到/show的請求會自動跳轉。例如:apache的服務的路徑為192.168.0.1:80
當輸入http://192.168.0.1:80/show/show.jsp時,瀏覽器自動跳轉到http://192.168.0.84:8080/show/show.jsp頁面)

(報表頁面通過apache調用)
ProxyRequests Off
ProxyPass /report? balancer://name stickysession=jsessionid nofailover=On
<proxy balancer://name/>
??? BalancerMember
http://192.168.28.131:8080/demo? loadfactor=1
</proxy>

(報表raq文件通過apache調用)
ProxyPass /reportFiles? balancer://name stickysession=jsessionidnofailover=On
<proxy balancer://name/>
??? BalancerMember
http://192.168.28.131:8080/demo? loadfactor=1
</proxy>
(ProxyPass
為代理轉發的Url,即將所有訪問/report的請求轉發到群集下面設置的服務器上。
loadfactor
為各主機間的負載比例參數,可是設置不同指數
BalancerMember
為群集的成員,可以設置多個,即群集服務器AB,負載均衡服務器會根據均衡規則來將請求轉發給BalancerMember(現在只設置一個)
例如:apache的服務的路徑為192.168.0.180
當程序中引用的報表路徑為http://192.168.0.1:80/report/jsp/report.jsp時,apache會引入http://192.168.28.131:8080/demo/jsp/report.jsp這個文件)

以上是Apache服務器的設置。
對于報表服務器還要做一些設置,因為經過了apache的轉發會造成路徑不對,設置固定的路徑。
在報表服務器應用中的reportConfig.xml文件中設置
<config>
? <name>appUrlPrefix</name>
? <value>http://192.168.0.84:80/report</value>
</config>

通過上面的設置,在進行訪問的時候,所有的頁面都處在同一個域中。js可以實現跨域調報表函數的功能。

?

總結

以上是生活随笔為你收集整理的js跨域调用报表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。