我有一个链接:
<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/