2016-07-26 84 views
-1

我试图做一个$.ajax调用PHP文件(microsubs.php),我需要成功调用,如果人在IP范围内。下面是PHP代码:PHP函数调用后的Ajax成功参数

$ip = $_SERVER['REMOTE_ADDR']; 

$public_ip_ranges = array(); 

$range = (object) array(); 
$range->name = '123 Media'; 
$range->lower = '10.1.0.0'; 
$range->upper = '10.1.255.255'; 
$public_ip_ranges[] = $range; 

$range = (object) array(); 
$range->name = '123 media 3'; 
$range->lower = '141.228.0.0'; 
$range->upper = '141.228.255.255'; 
$public_ip_ranges[] = $range; 

$range = (object) array(); 
$range->name = 'vaerrrrrr'; 
$range->lower = '146.127.0.0'; 
$range->upper = '146.127.255.255'; 
$public_ip_ranges[] = $range; 

if (($lngIP=ip2long($ip)) < 0) $lngIP += 4294967296; 

foreach ($public_ip_ranges as $ip_range) { 
    if (($lngLow=ip2long($ip_range->lower)) < 0) $lngLow += 4294967296; 
    if (($lngHigh=ip2long($ip_range->upper)) < 0) $lngHigh += 4294967296; 
    if($lngIP >= $lngLow and $lngIP <= $lngHigh) { 
     ?> 

而下面是我的Ajax调用:

$.ajax({ 
    url: "/microsub.php", 
    method: 'GET', 
    success: function(){ 
    } 
}); 

我放在success回调什么,看看这个人是在IP范围函数在PHP运行文件?

+3

你不得不在PHP中回应一些通过AJAX获得回报。然后执行'success:function(response){...'[无论PHP响应将在'response'中。](http://jayblanchard.net/basics_of_jquery_ajax.html) –

+2

一些合理的代码缩进将是一个好主意。它可以帮助我们阅读代码,更重要的是,它可以帮助您**调试您的代码** [快速浏览编码标准](http://www.php-fig.org/psr/psr-2/ )为了您自己的利益。您可能会被要求在几周/几个月内修改此代码 ,最后您会感谢我。 – RiggsFolly

+0

请注意,代码中存在简单的语法错误,例如孤立的花括号('{')和脚本标记('?>')。 – dakab

回答

1

在PHP回声你的结果:比如1如果IP在范围内:

if($lngIP >= $lngLow and $lngIP <= $lngHigh){ 
    echo 1; 
}else{ echo 0} 
exit; 

在Javascript中,读取结果并做你会用它喜欢什么:

$.ajax({ 
    url: "/microsub.php", 
    method: 'GET', 
    success: function (data){ 
     var inRange = (+data===1); 
    } 

}); 
+0

这是什么'var inRange =(+ data === 1);'? –