2016-07-26 83 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);'? –