搜尋

首頁  >  問答  >  主體

javascript - 最近在做專案時,用ajax時遇到的一些問題!

在專案中用ajax要完成兩個要求,第一就是當頁面在不同伺服器上時獲得其ip位址,例如$.post( 'http://test.pingguo.com/ldmgr...{ } 在這裡我是寫死了test.pingguo.com .然後我為了動態取得ip位址這樣寫了var url=location.host.然後$.post( 'http://「+url+」/ldmgr/api/ userAnalysisReport/getAnalysisReport?analysisReportId='+Request.id+'',function(data){} 然後我印了這個url 我在本地訪問後台url連結結果是127.0.0.1/index.html 這樣子。頁面所處伺服器的ip 因為還沒有部署測試服所以我現在還不是很清楚! url裡拼接?analysisReportId='+Request.id+'' ,即'http:///“+url+”/ldmgr/api/userAnalysisReport/getAnalysisReport?analysisReportId='+Request.id+'' ,function(data){} 。

迷茫迷茫2753 天前419

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-05-16 13:22:42

    問題一 為什麼不用相對地址?

    為什麼那麼哽一定要在 url 裡填網域部分呢?直接 '/path/a/b/c' 不就好了麼?

    $.post('/path/to/api'); 

    問題二 善用 split 函數

    自己寫的函數到底對不對,多用幾組資料試試看就知道。

    function getUrlSearch() {
      return window.location.search.slice(1).split('&').map(function(item){
        return item.split('=').map(decodeURIComponent);
      }).reduce(function(search, item){
        if(item[0]) search[item[0]] = item[1];
        return search;
      }, {});
    }
    
    var searchParams = getUrlSearch(); // 为啥要写成类再实例化,这里根本没必要

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:22:42

    第一點,js取得ip位址是不可能的,只能讓伺服器把他的ip和頁面一起回傳給你,然後你取得到再提交上去。

    第二個,沒啥問題,就是從url擷取資料

    回覆
    0
  • 取消回覆