【问题标题】:get data from url从 url 获取数据
【发布时间】:2011-03-04 13:24:47
【问题描述】:

我从这里拿了一个现成的脚本,How to read GET data from a URL using JavaScript?,但不能让它工作,我做错了什么? 这是我的脚本:

function getUrlParam(param)
{
  param = param.replace(/([\[\](){}*?+^$.\\|])/g, "\\$1");
  var regex = new RegExp("[?&]" + param + "=([^&#]*)");
  var url   = decodeURIComponent(window.location.href);
  var match = regex.exec(url);
  return match ? match[1] : "";
}
var param = getUrlParam("process_number");
alert(param);

这是我的链接:

http://erp.micae.com/index.cfm?fuseaction=objects.popup_print_files&process_number=SER-498&action_type=141&action_id=289&action_row_id=32&print_type=192

感谢您的帮助!

对不起,伙计们,忘了说明我的页面正在框架中工作,这就是为什么它无法从我想要的 url 获取数据:)

【问题讨论】:

  • 该代码运行良好。有什么问题?
  • 您忘记告诉我们预期结果是什么实际结果是什么不能让它工作,我做错了什么 不是错误描述。你希望我们猜测吗?
  • @Felix Kling 在这种情况下,我需要在“process_number”之后获取数据 SER-498 并将其显示在打开的页面中,这就是我想要的
  • 对不起,伙计们,忘了说我的页面在框架中工作,这就是为什么它无法从我想要的 url 获取数据:)

标签: javascript url get


【解决方案1】:

由于您在一个框架中,如果您需要从主窗口获取 href,请执行以下操作:

var href = window.top.location.href;

然后处理它。

【讨论】:

    【解决方案2】:

    该代码必须从您正在挖掘其 URL 以获取参数值的页面运行。换句话说,它只在其所在页面的当前 URL 上运行。它工作正常。

    如果您想要一个在给定任意 URL 的情况下为您提供参数值的函数,您只需要添加一个附加参数:

    function getUrlParam(param, url) {
      param = param.replace(/([\[\](){}*?+^$.\\|])/g, "\\$1");
      var regex = new RegExp("[?&]" + param + "=([^&#]*)");
      url   = url || decodeURIComponent(window.location.href);
      var match = regex.exec(url);
      return match ? match[1] : "";
    }
    
    alert(getUrlParam("process_number", "http://erp.micae.com/index.cfm?fuseaction=objects.popup_print_files&process_number=SER-498&action_type=141&action_id=289&action_row_id=32&print_type=192"));
    

    【讨论】:

    • thx 但是,它只适用于一页,进程号和操作类型等是会改变的变量......
    猜你喜欢
    • 1970-01-01
    • 2018-09-05
    • 2013-05-06
    • 2016-06-24
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    相关资源
    最近更新 更多