拒绝输入字段中 alexa 排名小于 x 的网站


Reject sites with alexa rank smaller than x in input field

PHP - alexa.php

<?
$url = filter_var($_GET['url'], FILTER_SANITIZE_URL);
$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank=isset($xml->SD[1]->POPULARITY)?$xml->SD[1]->POPULARITY->attributes()->TEXT:0;
web == (string)$xml->SD[0]->attributes()->HOST;
echo $rank;
?>

Javascript - alexa.js

function alexa() {
 var $btn = $('#buttonreg');
 var $input = $('#domain');
 var url = $.trim($input.val());
 $.get('alexarank.php?url='+url, function(data){
  var alexa = parseInt(data);
  if ($.trim(data) == '' || alexa < 500000)
  {
   alert('We don't accept sites with alexa rank higher than 500.000.');
   $btn.attr('disabled', 'disabled');
  }
   else
    {
     $btn.removeAttr('disabled');
    }
  }, 'text');
}

HTML - 页面.html

<input id="domain" class="txt" type="text" name="domain" size="25" value="" maxlength="255" onblur="alexa()"></input>

我需要回显错误警报("我们不接受Alexa排名高于500.000的网站"); 当用户在注册表上添加他的网站时,如果他的网站Alexa排名小于500.000。我已经测试过它,它不起作用,它什么也没做。从 php 开始测试它,当我进入浏览器 http://www.testingsite.com?url=http://www.google.com 它返回正确的值时,它返回正确的值,所以我认为我对 JavaScript 或 HTML 做了一些不好的事情。

我会把我在评论中提到的内容说清楚。

alert('We don't accept sites with alexa rank higher than 500.000.');

应替换为

alert("We don't accept sites with alexa rank higher than 500.000.");

第一个(代码中)的引号不匹配,显然会破坏代码的其余部分。你在"不要"中使用的单引号是打破一切的原因。

编辑:

将您的代码更改为此代码并尝试。如果仍然不起作用,请检查 js 控制台。

function alexa() {
 var $btn = $('#buttonreg');
 var $input = $('#domain');
 var url = $.trim($input.val());
 $.get('alexarank.php?url='+url, function(data){
  if( typeof(data) == "undefined" ) return false;
  var alexa = parseInt(data);
  if ($.trim(data) == '' || alexa < 500000)
  {
   alert('We do not accept sites with alexa rank higher than 500.000.');
   $btn.attr('disabled', 'disabled');
  }
   else
    {
     $btn.removeAttr('disabled');
    }
  });
}