如何使用jQuery查询字符串?

时间:2013-03-11 10:05:27

标签: javascript jquery ajax xml-parsing steam

确定。基本上我正在为游戏服务器所有者开发一个API,他们需要一个自定义加载屏幕来获取玩家名称和头像,但不使用PHP,只使用JavaScript,AJAX,HTML等。

这是我到目前为止所提出的:

<!DOCTYPE html>
<html>
<head><title></title>
<script src="//static.sidewaykill.com/js/jQuery/1.5.2.min.js"></script>
<script src="//static.sidewaykill.com/js/jQuery/ExtDomain.js"></script>
</head>
<body>
<script type="text/javascript">
(function($) {
    $.QueryString = (function(a) {
        if (a == "") return {};
        var b = {};
        for (var i = 0; i < a.length; ++i)
        {
            var p=a[i].split('=');
            if (p.length != 2) continue;
            b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
        }
        return b;
    })(window.location.search.substr(1).split('&'))
})(jQuery);

 $.get('http://api.sidewaykill.com/steam/name.php?id=76561198017389807')
 .success(function(data) {
     $('#steamname').html(data);
 });
</script>
Welcome <span id="steamname"></span>.<br /><br />
<img src="http://api.sidewaykill.com/steam/avatar.php?id=76561198017389807" alt="Player Avatar" />
</body>
</html>

我想要做的就是弄清楚如何用游戏提供的ID =值替换这些ID =值。例如,如果您通过http://server.com/loading.html?id=76561198017389807访问该页面,则会调用api.sidewaykill.com/steam/name.php?id=76561198017389807和图片api.sidewaykill.com/steam/avatar.php?id= 76561198017389807。我如何使用更多jQuery做到这一点?

3 个答案:

答案 0 :(得分:0)

不完全是jQuery的答案,而是纯粹的Javascript:

var idvalue = decodeURI( (RegExp('id=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] );

将从URL的GET部分为您提供id的值,现在您可以将其插入HTML文档和Ajax URL的部分内容。

使用jQuery,你可以试试这个:http://www.jquery4u.com/snippets/url-parameters-jquery/

你的意思是将这个值插入?

$('#imgid').src = 'http://api.sidewaykill.com/steam/avatar.php?id=' + idvalue;

答案 1 :(得分:0)

没有php让它变得更难,否则它只是一个简单的:

$.get('http://api.sidewaykill.com/steam/name.php?id=<?= $_GET['id'] ?>')

但你可以在这里使用这个功能:

Parse query string in JavaScript

并致电:

var id = getQueryVariable('id');
$.get('http://api.sidewaykill.com/steam/name.php?id='+id)

答案 2 :(得分:0)

$ .QueryString.id将使用您包含的$ .QueryString保存您的ID值。

将图片html更改为:

<img id="avatarimage" src="http://api.sidewaykill.com/steam/avatar.php?id=placeholderimageid" alt="Player Avatar" />

你想要的Javascript是

$.get('http://api.sidewaykill.com/steam/name.php?id=' + $.QueryString.id)
    .success(function(data) {
    $('#steamname').html(data);
});

$('#avatarimage').attr('src', 'http://api.sidewaykill.com/steam/avatar.php?id=' + $.QueryString.id);