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');
}
});
}