javascript - jquery,如何在javascript中获取URL GET变量?

标签 javascript jquery json get

我有一个链接:

<a href="?
processor=<?php echo $value['processor']; ?>&
auth_code=<?php echo $value['auth_code']; ?>
" id="buttonDetails">View Detail</a>

和一个函数:

function getUrlVars(parsedUrl) {
var vars = {};
parsedUrl.replace(/[?&]+([^=&]+)=([^&]*)/gi,
        function(m, key, value) {
            vars[key] = value;
        });
return vars;
}

我正在做的是将链接传递给这个函数;

var url = $('#buttonDetails').attr('href'); // "?processor=25&auth_code=12"
var first = getUrlVars(url);
alert (first );

此警报会给我[object Object]

知道我做错了什么吗?

编辑: 另一种方法是:

var first = getUrlVars()["processor"];
alert(processor);

但这不太有效

编辑:

链接是在 php 循环中创建的:

foreach($test as Value){
 // here is the link being created and the result is more links.
}

我还将链接的 id 更改为 class

我正在做:

$('.buttonDetails').each(function(){
var parsed = getUrlVars($(this).attr('href'));
console.log(parsed['processor']);

});

这会给我未定义

this console.log(parsed); 将为我提供多个对象,其中包含数据。但是当我尝试从对象内部获取一些细节时,我得到 undefined

为什么这不起作用?

再次感谢

最佳答案

在此示例中:

var url = $('#buttonDetails').attr('href'); // "?processor=25&auth_code=12"
var first = getUrlVars(url);
alert (first );

警报向您提供 [object Object] 的原因是因为这就是 first 的内容:

Object
    auth_code: "12"
    processor: "25"

您的第二个示例不起作用,因为您没有将值传递给 getUrlVars 函数。试试这个:

var url = $('#buttonDetails').attr('href'), // "?processor=25&auth_code=12"
    parsed = getUrlVars(url);

alert(parsed['processor']);

关于javascript - jquery,如何在javascript中获取URL GET变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332876/

相关文章:

javascript - 使用 javascript 正则表达式列出 C++ 中函数的参数

javascript - 循环打印html

Jquery .click() 不会针对 <a> 标签触发

java - JSON - 对象数组中的对象数组

json - 从 API 解析结构

javascript - express.index 发送 json 对象时出现问题

javascript - 为什么 jQuery.data 的行为与 jQuery UI 选项事件内部不同?

c# - asp.net:发布应用程序后文本框消失

javascript - Twilio 视频聊天 JS 原始用户没有获得参与者跟踪事件

javascript - 为什么此代码不滚动到 keydown 上的定位类?