【问题标题】:How to check output of a created URL?如何检查创建的 URL 的输出?
【发布时间】:2013-06-03 16:33:48
【问题描述】:

我想做一个 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()

【问题讨论】:

  • 你的问题到底是什么?
  • 我会说:使用 url 进行 JQuery AJAX 调用。输出将作为字符串返回。为“namecheck: notavailble”或其他内容运行正则表达式或 strpos。
  • 我只是希望使用 javascript 来评估输出以检查 NAMECHECK: NOTAVAILABLE 是否是输出页面的一部分。如果是,则应运行函数nameNotAva()。否则应该运行一个函数nameAva()
  • @sdnr1:别忘了转义名字:curl = url+encodeURI(username)

标签: javascript


【解决方案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(); 
                   } 
              }
       });
    }
    

【讨论】:

  • 我不希望用户看到页面的输出。我只是希望使用 javascript 来评估输出以检查 NAMECHECK: NOTAVAILABLE 是否是输出页面的一部分。如果是,则应运行函数nameNotAva()。否则应该运行一个函数nameAva()
  • 伙计.. 加油!!!您可以随时删除打印语句!。你想要我给你的输出。您将输出分配给字符串,并进行一些字符串操作.. 呸!!等待编辑答案
猜你喜欢
  • 2010-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
相关资源
最近更新 更多