我的ip-address功能不起作用

时间:2014-05-18 13:39:00

标签: javascript php jquery html

我的剧本:

$(function () {
    $("h2").text($.get("ajax.getIp.php",function(data){ return data; }));
});

和我的ajax.getIp.php:

<?php$_SERVER['REMOTE_ADDR']?>

它会说h2中的[object Object]如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

使用成功处理程序,而不是返回值

$.get这样的函数可以处理回调;返回值不是来自服务器的响应 - 它是xhr对象。

  

&GT; $获得()

     

Object {readyState:1,setRequestHeader:function,getAllResponseHeaders:function,getResponseHeader:function,overrideMimeType:function ...}

有关如何使用$.get

的示例,请参阅the docs
$.get( "ajax/test.html", function( data ) {
  $( ".result" ).html( data ); # <-
  alert( "Load was performed." );
});

请注意 in 成功处理程序是更新.result内容的地方。应用于问题中的代码:

$.get( "ajax.getIp.php", function( data ) {
  $("h2").text( data );
});

php代码没有回显ip地址

包含以下内容的php文件的输出:

<?php$_SERVER['REMOTE_ADDR']?>

是字符串:

  

&LT; PHP $ _SERVER [&#39; REMOTE_ADDR&#39;]&GT;

因为,其中没有任何PHP代码 - <?phpnospace没有启动php块。要输出客户端的IP,请使用以下代码:

<?php echo $_SERVER['REMOTE_ADDR']?>

请注意空格和echo语句,或

<?= $_SERVER['REMOTE_ADDR']?>

(如果使用php 5.4或早期版本启用了php短标签) - 在这种情况下,空格是可选的。

答案 1 :(得分:0)

试试这个

<?php echo $_SERVER['REMOTE_ADDR']; ?>

答案 2 :(得分:0)

您的PHP代码目前不生成任何输出,您只需引用变量。

您需要使用以下任一项在服务器上输出值:

<?= $_SERVER['REMOTE_ADDR']; ?>

或:

<?php echo $_SERVER['REMOTE_ADDR']; ?>