最近在做项目时,用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){} 。明天要上正式服 有点急 麻烦看出问题的吱一声 不胜感谢!!

阅读 2.5k
2 个回答

问题一 为什么不用相对地址?

为什么那么哽一定要在 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(); // 为啥要写成类再实例化,这里根本没必要

第一点,js获取ip地址是不可能的,只能让服务器把他的ip和页面一起返回给你,然后你获取到再提交上去。

第二个,没啥问题,就是从url提取数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题