1

PHP

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

jQuery

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

但是当我运行 jQuery 时,我检查了 Fire 错误,它显示以下内容

GET 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);
?>

jQuery

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

萤火虫错误

SyntaxError: 无效标签 {"ip":"XXX.XXX.XXX.X"}

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

4

1 回答 1

5

您正在返回:

[{'ip': 'XXX.XXX.XXX.XXX'}]

但是您将其视为返回:

{'ip': 'XXX.XXX.XXX.XXX'}

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

要么解决你的问题。:)

于 2013-02-05T16:13:18.440 回答