2013-03-11 3 views
1

Хорошо. В основном я разрабатываю API для владельцев Game Server, которым нужен пользовательский экран загрузки, который извлекает имя и аватар игроков, но не использует PHP, только JavaScript, AJAX, HTML и т. Д.Как использовать строку запроса jQuery?

Это то, что я придумал с до сих пор:

<!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 = значения с теми, предоставленными играми. Например, если вы заходите на страницу через http://server.com/loading.html?id=76561198017389807, она будет вызывать api.sidewaykill.com/steam/name.php?id=76561198017389807 и изображение api.sidewaykill.com/steam/avatar.php?id=76561198017389807. Как мне сделать это с помощью jQuery?

+0

вопрос не очень понятно. Что вы хотите сделать jQuery? Вы загружаете эту страницу в браузере или какой-то пользовательский кадр? Как взгляды HTML QT/MFC/AnyLib? Пожалуйста, продумайте немного ясно. – 2013-03-11 10:09:33

+0

Я загружаю это на странице, используя игру. Игра загружает эту страницу при подключении к серверу (Garry's Mod), и она дает страницу SteamID64, для которой требуется разбор PHP. Я делаю способ сделать это без создателя, использующего скрипты с серверами. – Skilledway

+0

Почему вы используете старую версию jQuery, если вы начинаете это с нуля, вы можете легко использовать более позднюю версию, поскольку у вас нет кода для просмотра? – GGJ

ответ

0

Не совсем ответ JQuery, но чистый Javascript:

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

даст вам значение идентификатора из GET части URL, теперь вы можете подключить его к частям вашего HTML-документа и Ajax URL-адрес.

Использование JQuery вы можете попробовать это: http://www.jquery4u.com/snippets/url-parameters-jquery/

Вы имеете в виду что-то вроде этого, чтобы заткнуть значение в?

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

Я спрашивал, как подключить его, но спасибо в любом случае. - EDIT: Я понял, что вы дали мне var, но прошло много времени с тех пор, как я сделал какой-либо JavaScript, так как бы добавить это к моему коду jQuery и получить изображение с помощью кода? – Skilledway

+0

Хорошо, если вы указали свой образ атрибуту id для тега html, вы можете использовать код, который я разместил в своем отредактированном сообщении выше. Оба эти строки войдут в ваш сценарий загрузки документа, чтобы запустить его после полной загрузки страницы. – Husman

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) 
0

$ .QueryString.id будет хранить значение вашего идентификатора, используя включенную $ .QueryString.

Изменить изображение 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); 
+0

К сожалению, часть изображения вашего кода не выводит изображения.- Вы можете увидеть код, который я использовал на http://api.sidewaykill.com/steam/example.html?id=76561198017389807 – Skilledway

Смежные вопросы