javascript - 最近在做項目時,用ajax時遇到的一些問題!
問題描述
在項目中用ajax要完成兩個要求,第一就是當頁面在不同服務(wù)器上時獲得其ip地址,例如$.post( ’http://test.pingguo.com/ldmgr...{} 在這里我是寫死了test.pingguo.com .然后我為了動態(tài)獲取ip地址 這樣寫了var url=location.host.然后 $.post( ’http://“+url+”/ldmgr/api/userAnalysisReport/getAnalysisReport?analysisReportId=’+Request.id+’’,function(data){} 然后我打印了這個url 我在本地訪問后臺url鏈接 結(jié)果是127.0.0.1/index.html 這樣子。這樣做可以動態(tài)獲取頁面所處服務(wù)器的ip 因為還沒有部署測試服 所以我現(xiàn)在還不是很清楚! 第二就是要獲取頁面地址欄后面的id值 我是這樣寫的 : 然后再在url里拼接 ?analysisReportId=’+Request.id+’’ ,即’http:///“+url+”/ldmgr/api/userAnalysisReport/getAnalysisReport?analysisReportId=’+Request.id+’’ ,function(data){} 。明天要上正式服 有點急 麻煩看出問題的吱一聲 不勝感謝!!
問題解答
回答1:問題一 為什么不用相對地址?為什么那么哽一定要在 url 里填域名部分呢?直接 ’/path/a/b/c’ 不就好了么?
$.post(’/path/to/api’); 問題二 善用 split 函數(shù)
自己寫的函數(shù)到底對不對,多用幾組數(shù)據(jù)試一下就知道。
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(); // 為啥要寫成類再實例化,這里根本沒必要回答2:
第一點,js獲取ip地址是不可能的,只能讓服務(wù)器把他的ip和頁面一起返回給你,然后你獲取到再提交上去。
第二個,沒啥問題,就是從url提取數(shù)據(jù)
