javascript 和 php之间用json传数据,返回的结果中头部总是加了几行代码,请问这是怎么回事?

新手上路,请多包涵

1.javascript 用post的方法从本地的php那里获得json数据,能获得response,但是response里面的data数据总是多了几行代码。如下图。
图片描述

下面是代码。

<body>
<div ng-app="myApp" ng-controller="customersCtrl">
    <table>
        <tr ng-repeat="x in names">
            <td>{{ x.Name }}</td>
            <td>{{ x.Country }}</td>
        </tr>
    </table>
</div>
<script>
    var recordtest=[
        {"Name":"xiaomi","City":"sehnzhen","Country":"us"}
    ]
    var app = angular.module('myApp', []);
    app.controller('customersCtrl', function($scope, $http) {
        $http({
            method:'POST',
            url: 'login.php'
        }).then(function successCallback(response) {
            alert("success");
            console.log(response);
            $scope.names = response.records;
        },function errorCallback() {
            alert("error");
            $scope.names = recordtest;
        });
    });
</script>
</body>


下面是php的代码


<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$outp = "";

    if ($outp != "") {$outp .= ",";}
    $outp .= '{"Name":"'  . "华为" . '",';
        $outp .= '"City":"'   . "北京"        . '",';
    $outp .= '"Country":"'. "中国"     . '"}';

$outp ='{"records":['.$outp.']}';

echo($outp);

?>

第一次用php,知道的不多,希望知道的大家能帮忙解答一下,谢谢!

阅读 3.5k
3 个回答

在php.ini中的 always_populate_raw_post_data' 设置成 '-1',
注意
一、前面有个;一定要去掉,一般默认就是-1了千万要注意前面的;
二、一定要重启php和服务器.
三、这个错误的意思是那个函数马上要被去除了不要用了,你在你的代码中看看有没有$http_raw_post_data这个函数,如果有就用file_get_contents('php://input')代替diao
四、如果不行,就就接着看前三条,重点是前两条

那是php里的警告,在ini中设置去除一下就行了

这个是php的警告
猜想你的项目或者框架中设置了php的警告级别
找到这个设置警告级别的地方修改一下就好了
也可以在php文件的头部增加error_reporting(0);来屏蔽一些低级错误

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题