在專案中用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){} 。
黄舟2017-05-16 13:22:42
為什麼那麼哽一定要在 url 裡填網域部分呢?直接 '/path/a/b/c' 不就好了麼?
$.post('/path/to/api');
自己寫的函數到底對不對,多用幾組資料試試看就知道。
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(); // 为啥要写成类再实例化,这里根本没必要
过去多啦不再A梦2017-05-16 13:22:42
第一點,js取得ip位址是不可能的,只能讓伺服器把他的ip和頁面一起回傳給你,然後你取得到再提交上去。
第二個,沒啥問題,就是從url擷取資料