鍍金池/ 問(wèn)答/PHP  HTML/ javascript 和 php之間用json傳數(shù)據(jù),返回的結(jié)果中頭部總是加了幾

javascript 和 php之間用json傳數(shù)據(jù),返回的結(jié)果中頭部總是加了幾行代碼,請(qǐng)問(wèn)這是怎么回事?

1.javascript 用post的方法從本地的php那里獲得json數(shù)據(jù),能獲得response,但是response里面的data數(shù)據(jù)總是多了幾行代碼。如下圖。
圖片描述

下面是代碼。

<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":"'. "中國(guó)"     . '"}';

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

echo($outp);

?>

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

回答
編輯回答
安淺陌

在php.ini中的 always_populate_raw_post_data' 設(shè)置成 '-1',
注意
一、前面有個(gè);一定要去掉,一般默認(rèn)就是-1了千萬(wàn)要注意前面的;
二、一定要重啟php和服務(wù)器.
三、這個(gè)錯(cuò)誤的意思是那個(gè)函數(shù)馬上要被去除了不要用了,你在你的代碼中看看有沒(méi)有$http_raw_post_data這個(gè)函數(shù),如果有就用file_get_contents('php://input')代替diao
四、如果不行,就就接著看前三條,重點(diǎn)是前兩條

2017年1月22日 00:28
編輯回答
愛(ài)是癌

這個(gè)是php的警告
猜想你的項(xiàng)目或者框架中設(shè)置了php的警告級(jí)別
找到這個(gè)設(shè)置警告級(jí)別的地方修改一下就好了
也可以在php文件的頭部增加error_reporting(0);來(lái)屏蔽一些低級(jí)錯(cuò)誤

2018年5月8日 19:27
編輯回答
失魂人

那是php里的警告,在ini中設(shè)置去除一下就行了

2018年9月14日 14:19