1

私はモバイル アプリケーションを作成しており、Sencha touch 2 で PHP と Ajax を使用してユーザーの IP アドレスを取得したいと考えています。

現時点では、Ajax リクエストは成功を返していますが、responseText は php ファイル内のすべてのコードです。

これは、action.php というファイル内の私の php コードです。

<?php
function getIPAddress()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))  
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

?>

これは私のajaxリクエストです:

Ext.Ajax.request({
        url : 'action.php?',
        success : function(response, options) {
            console.log('success ' + response.responseText);
        },
        failure : function(response, options) {
            console.log('failure ' + response);
        }
    });

コンソールは、php ファイルからの正確なテキストとともに「成功」​​を出力します。PHPファイルからIPアドレスを取得するにはどうすればよいですか? ありがとう :)

4

1 に答える 1

0

関数を呼び出して結果をエコーし​​、AJAX リクエスト内で返されるようにする必要があります。

<?php
function getIPAddress()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))  
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
echo getIPAddress();
?>
于 2012-06-20T12:19:47.617 に答える