0

我想做一个 RuneScape(一个 MMORPG 游戏)名称检查器。为此,我正在使用 IRC 机器人。我用来检查姓名的 URL 是这个 - http://rscript.org/lookup.php?type=namecheck&name=

我正在使用 javascript 获取输入并转到此 url 以检查名称。我正在使用的代码是这样的:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function nameCheck()
{
var username = document.getElementById('uname').value;
var url = "http://rscript.org/lookup.php?type=namecheck&name=";
var curl = url + username;
}
</script>
</head>
<body>
<input class="textBox" id="uname" type="text" maxlength="15" required/>
<input type="button" onclick="nameCheck()" value="Submit">
</body>
</html>

要继续此操作,我需要一个代码来检查创建的最终 url 的输出,即。 curl. 如果输出页面如下所示:

START
NAMECHECK: NOTAVALIBLE
SUGGESTIONS: blah blah blah
END

然后代码应该运行该函数nameNotAva()。如果输出是这样的:

START
NAMECHECK: AVALIBLE
END

然后代码应该运行该函数nameAva()

问题

我只是希望使用 javascript 来评估输出以检查是否NAMECHECK: NOTAVAILABLE是输出页面的一部分。如果是,那么nameNotAva()应该运行一个函数。否则nameAva()应该运行一个函数。

4

1 回答 1

1

不知道你使用的是什么语言,使用 jQuery 你可以做以下事情

  1. 您可以在 div 中加载响应。

    function nameCheck()
    {
    
    var username = document.getElementById('uname').value;
    
    var url = "http://rscript.org/lookup.php?type=namecheck&name=";
    
    var curl = url + username;
    
    var output = $('#someDiv').load( curl ).html() // .html() will give you the output or what the page 
    
     if( output.contains('NAMECHECK: NOTAVALIBLE'){ nameNotAva(); }
    
    }
    
  2. 您可以使用简单的 AJAX 并获取响应文本(可能带有 async false)

    function nameCheck()
    {
    
    var username = document.getElementById('uname').value;
    
    var url = "http://rscript.org/lookup.php?type=namecheck&name=";
    
    var curl = url + username;
     $.ajax({
         url : curl,
         type : 'GET' //or 'POST',
         success : function( urlOutput ){ 
                 if( urlOutput .contains('NAMECHECK: NOTAVALIBLE'){ 
                      nameNotAva(); 
                   } 
              }
       });
    }
    
于 2013-06-07T11:26:39.107 回答