天天看點

jquery 跨域POST資訊問題解決方案

問題描述 :

近期在整合一些系統的時候遇到一些問題:

  現在有系統A,B,C 。 登入界面在A系統上,現在在A系統上添加三個按鈕,将一個表單,根據按鈕的不同送出到不同項目的Action上。

 1.方案一 jquery POST 利用Ajax驗證使用者是否存在并且根據驗證結果跳轉到使用者登入成功的頁面

    項目A,B,C在同一台伺服器上部署,但是端口号不同

 項目A端口号 80 ,B  8080 ,C 8081

     var paras =  $('#loginid').serialize();

 $.post(globalURL,paras

   function (data, textStatus){

      var retValue = unescape(data.returnValue);

      if('success'==retValue){

           window.location= http://192.168.1.101:8080/”+ "pane_srpmis/true";";

      }else if('delegate'==retValue){

           window.location= “http://192.168.1.101:8080/”+ "pane_srpmis/true";

      }

      else{

         alert(retValue);

                closeWin();

      }

    這種方法在IE10 浏覽器上,360 ,搜狗浏覽器上都測試成功。

但是在firefox25.01上測試失敗。

經過找度娘查詢:發現原來是不同域之間的不能這樣通路。

        後來解決方案是  :

      function save()

     {   

         document.form1.action="http://localhost:8080/test2/index.jsp";

         document.form1.submit();

     }

 然後在test2的index.jsp頁面中設定隐藏一個Form 然後根據onload 加載事件觸發後将表單送出到B系統的所需要的頁面。