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 因为还没有部署测试服 所以我现在还不是很清楚! 第二就是要获取页面地址栏后面的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 函数
自己写的函数到底对不对,多用几组数据试一下就知道。
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地址是不可能的,只能让服务器把他的ip和页面一起返回给你,然后你获取到再提交上去。
第二个,没啥问题,就是从url提取数据