从网址获取数据

时间:2011-03-04 13:24:47

标签: javascript url get

我从这里拿了一个准备好的脚本,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
这是帮助!

对不起,伙计们,忘了提到我的页面在框架中工作,为什么它无法从我想要的网址获取数据:)

2 个答案:

答案 0 :(得分:2)

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

var href = window.top.location.href;

然后处理它。

答案 1 :(得分:0)

该代码必须从您正在为参数值挖掘其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"));