重定向到另一个页面并通过JavaScript传递参数

时间:2018-09-18 15:04:16

标签: javascript jquery asp.net ajax asp.net-mvc

我一直试图通过使用JavaScript(或jQuery,Ajax,Fetch等)进行重定向,从而将ASP.NET页中的参数传递给另一个页面(在我们的网站中),并在重定向的Load事件上捕获此参数通过JavaScript页面。但是,我不确定是否可以这样做。任何想法?

新闻页面:

window.location = '/news/details?id=4';

详细信息页面:

$(function (id) {
    console.log('Pass parameter: ' + id);        
});

任何帮助将不胜感激...

2 个答案:

答案 0 :(得分:3)

在“详细信息”页面上,使用URL对象可以访问url参数,例如:

const url = new URL(window.location.href);
console.log(url.searchParams.get("id"));

答案 1 :(得分:2)

您可以使用以下代码从详细信息页面的url中获取参数:

var url = new URL(window.location);
var param = url.searchParams.get("parameterName");

正如@Michael Hurley所指出的,url在某些浏览器(即IE)中不可用,因此,如果需要支持它们,则必须做一些额外的工作:

exp = /(?:parameterName=)(\w)/
match = str.match(exp)
//match[1] would hold the value of 'parameterName'