苦苦挣扎的小json和php获取IP

ngp*_*und 1 php jquery json

PHP

<?php
header('Content-type: application/json');
$return['ip'] = $_SERVER['REMOTE_ADDR'];  
$results[] = array(
      'ip' => $return['ip']
   );
echo json_encode($results);
?>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$.getJSON("http://domain.com/json/",
        function(data){
            console.log(data.ip);
        });
    });
Run Code Online (Sandbox Code Playgroud)

但是,当我运行jQuery时,我检查了Fire bug,并说明了以下内容

获取http://domain.com/json/ 200 OK 81ms

并且不响应我要求的IP.我错过了什么吗?

更新的代码

PHP

<?php
header('Content-type: application/json');
$return['ip'] = $_SERVER['REMOTE_ADDR'];  
$results = array(
      'ip' => $return['ip']
   );
echo json_encode($results);
?>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$.getJSON("http://domain.com/json/", function(data){
            console.log(data.ip);
        });
Run Code Online (Sandbox Code Playgroud)

Firebug错误

SyntaxError:invalid label {"ip":"XXX.XXX.XXX.X"}

箭头指向单词ip之前的第一个引号.

小智 5

你回来了:

[{'ip': 'XXX.XXX.XXX.XXX'}]
Run Code Online (Sandbox Code Playgroud)

但你正在对待它,好像你要回来一样:

{'ip': 'XXX.XXX.XXX.XXX'}
Run Code Online (Sandbox Code Playgroud)

您需要更改JavaScript console.log(data[0].ip)或将PHP更改为:$results = array( ... );而不是$results[] = array( ... );

要么解决你的问题.:)