0

我正在使用以下内容从 URL 中提取变量

$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}

这对数字很有效,但是,当我在字符串上尝试它时,它会停在字母 A

下面的 Ajax 调用

$.ajax({
        url: apiURL,
        dataType: 'json',
        data: {page: page, user_name:$.urlParam('user')},
        success: onLoadData
    });

示例网址:

http://mypage.com/pages/gf_profile?user=DaveSmith&items=show

Firebug Inspector Shows(查看 user_name 变量)

GET http://mypage.com/wishAPIs/profileWLAllAPI.php?page=1&user_name=D 200 OK 253ms

另一个示例 URL:

http://mypage.com/pages/gf_profile?user=HelenMajor&items=show

Firebug 检查员显示

GET http://mypage.com/wishAPIs/profileWLAllAPI.php?page=1&user_name=HelenM 200 OK 253ms

可以的示例 URL:

http://mypage.com/pages/gf_profile?user=MickBrown&items=show

Firebug 检查员显示

GET http://mypage.com/wishAPIs/profileWLAllAPI.php?page=1&user_name=MickBrown 200 OK 202ms

这很奇怪,有什么想法吗?

4

1 回答 1

2

尝试将正则表达式更改为

var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);

演示:小提琴

于 2013-01-29T09:42:02.280 回答