javascript - PHP JSON 编码输出与 Javascript Ajax 不兼容

标签 javascript php json ajax

Here 我构建了一个脚本来生成以下 JSON 输出:

[{"lat":41.081348,"lon":14.73292,"type":"F"},...,{"lat":41.09837,"lon":14.83176,"type":"F"}]

但是,当我尝试使用以下 Javascript 代码获取数据时:

        $.ajax({
            url: 'myJSONscript.php',
            dataType: "json",
            success: function (data, status, xhr) {
                console.log("data:"+data);
                console.log("status:"+status);
                console.log("xhr:"+xhr);
                }, //End Success
            error: function () {
                alert("ERROR");
                }
            });

我得到的只是一个空数据变量
(换句话说,控制台返回
数据:
状态:成功,
xhr:[object 对象]).
JSON 输出有效(使用 JSONlint 测试)并使用以下代码构建:

$arr=array();
while ($row=mysqli_fetch_array($r)) {
$element=array('lat'=>floatval($row['LATITUDE']),'lon'=>floatval($row['LONGITUDE']),'type'=>$row['TYPE']);
    array_push($arr, $element);
    }
$data=json_encode($arr,true);
header("Content-Type: application/json", true);
echo $data;

我不知道哪里出了问题......

最佳答案

已修复! contentType: "application/json" 不能和dataType: "json" 一起使用,删除contentType 解决了这个问题。

关于javascript - PHP JSON 编码输出与 Javascript Ajax 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519583/

相关文章:

javascript - 使用 $format Date = $.PHP Date ("U", date) 转换为时区;

php - Laravel:第 342 行的非法字符串偏移量 'file',文件 Illuminate/Mail/Mailable.php

php - PHP 进行一些查询后,MySQL 数据库中的条目发生变化

javascript - firefox (9), javascript, 由于大数据文件导致分配大小溢出。有没有办法避免这种情况?

javascript - 如何根据路由和使用 vue-route 更改 Vue 组件中的数据对象?

python - AWS BOTO - 使用标签查找 ec2 实例的卷 ID

javascript - 当 JSONP 数据改变时

java - 如何使用Java代码动态将同一文件夹下的多个json文件上载而不知道json文件中的属性到MongoDB

javascript - Node 和 CMS 与 angularjs : how do they cooperate

javascript - 如何使用 php 将我的星级评分值发送到 mysql 数据库