在專案中用ajax要完成兩個(gè)要求,第一就是當(dāng)頁(yè)面在不同伺服器上時(shí)獲得其ip位址,例如$.post( 'http://test.pingguo.com/ldmgr...{ } 在這裡我是寫(xiě)死了test.pingguo.com .然後我為了動(dòng)態(tài)取得ip位址這樣寫(xiě)了var url=location.host.然後$.post( 'http://「+url+」/ldmgr/api/ userAnalysisReport/getAnalysisReport?analysisReportId='+Request.id+'',function(data){} 然後我印了這個(gè)url 我在本地訪問(wèn)後臺(tái)url連結(jié)結(jié)果是127.0.0.1/index.html 這樣子。頁(yè)面所處伺服器的ip 因?yàn)檫€沒(méi)有部署測(cè)試服所以我現(xiàn)在還不是很清楚! url裡拼接?analysisReportId='+Request.id+'' ,即'http:///“+url+”/ldmgr/api/userAnalysisReport/getAnalysisReport?analysisReportId='+Request.id+'' ,function(data){} 。
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
為什麼那麼哽一定要在 url 裡填網(wǎng)域部分呢?直接 '/path/a/b/c' 不就好了麼?
$.post('/path/to/api');
自己寫(xiě)的函數(shù)到底對(duì)不對(duì),多用幾組資料試試看就知道。
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(); // 為啥要寫(xiě)成類再實(shí)例化,這里根本沒(méi)必要
第一點(diǎn),js取得ip位址是不可能的,只能讓伺服器把他的ip和頁(yè)面一起回傳給你,然後你取得到再提交上去。
第二個(gè),沒(méi)啥問(wèn)題,就是從url擷取資料