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 回答