【问题标题】:How to get parameters on client side passsed by HTTP GET request?如何获取 HTTP GET 请求传递的客户端参数?
【发布时间】:2014-12-21 07:44:11
【问题描述】:

我需要在我的 razor 视图页面中从某个社交服务 API 捕获回调。 回调请求通过 HTTP GET 方法实现:

http://www.contactsimporter.com/home.cshtml

实现回调后,我需要从 HTTP GET 请求中检索参数(param1=value1&param2=value2)。 例如:

http://www.contactsimporter.com/home.cshtml?param1=value1&param2=value2

我需要从回调 URL 中检索此参数 param1=value1&param2=value2。

任何想法或代码示例如何使用 JavaScript 或 jQuery 代码获取这些参数? 提前谢谢你。

【问题讨论】:

  • 你是什么意思“抓住一个回调?”
  • 'some social service api' 使用参数调用您的应用程序操作?为什么要从视图中解析查询字符串?为什么不来自行动方法?
  • 我认为你需要阅读查询字符串参数,看看这个:stackoverflow.com/questions/901115/…

标签: javascript jquery asp.net-mvc asp.net-mvc-4 callback


【解决方案1】:

改编自CSS-Tricks

  • 访问网址:window.location.pathname

现在您可以将 url 视为 Javascript 中的普通字符串并相应地对其进行解析。

var url = window.location.pathname
var getQuery = url.split('?')[1]
var params = getQuery.split('&') 
// params is ['param1=value', 'param2=value2'] 

【讨论】:

  • 但这些行必须是吗?
  • 对不起,我不明白你的评论。你的意思是*那些行必须在哪里?你能定义行吗?
【解决方案2】:

你可以通过纯javascript来实现。请参考以下代码:

var urlParams = window.location.search
var getQuery = urlParams.split('?')[1]
var params = getQuery.split('&') 

【讨论】:

  • 这可能是更好的解决方案,因为 window.location.search 只获取查询字符串
【解决方案3】:

你也可以使用 URLSearchParams

const urlParams = new URLSearchParams(window.location.search);
const entries = urlParams.entries();
// build params object
const params = {};
for (entry of entries) {
  params[entry[0]] = entry[1];
}
console.log(params);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 2020-09-11
    • 2014-02-14
    相关资源
    最近更新 更多