返回ajax 的时候走error ,但是后台有json数据

ajax部分

$.ajax({
                                url : "php/nick2.php",
                                type : "POST",
                                data : {
                                    "companyName" :  compName
                                },
                                dataType : "json",
                                success : function(result1) {
                                    var data1=JSON.stringify(result1);
                                    alert(data1);
                                    var obj1 = eval("(" + data1 + ")");
                                    console.log(obj1.job);
                                },

                                error: function (XMLHttpRequest, textStatus, errorThrown) {
                                    alert(XMLHttpRequest.status);//200,正常
                                    alert(XMLHttpRequest.readyState);//4,正常
                                    alert(textStatus);//parsererror,错误
                                }

                            });

php部分

<?php
//header("Content-type=text/html;charset=utf-8");
header('Content-type:text/json');
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "gis_ks";
$companyName = isset($_POST["companyName"]) ? $_POST["companyName"] : "1";
//$companyName = $_POST["companyName"];
//print_r($companyName);
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

//将数组$companyName转为字符串
$str = implode($companyName);

// Check connection
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 

mysqli_query($conn, 'set names utf8');
$sql = "SELECT * FROM company_job WHERE name = '$str'";
$result = $conn->query($sql);
//print_r($result);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo json_encode($row).' ';
    }
} else {
    echo "0 结果";
}

$conn->close();
?>

后台已经有json数据了

图片说明
更奇怪的是如果返回的只有一条json数据ajax走success,图中两条数据的时候ajax走的就是error。

看看 content-type 和 encoding

当只有一条是js得到的数据时一个数组还是个单纯的json对象?

返回得数据有问题 应该用数组包起来

[{"id":"1","name":"123","job":"123","skill":"123","salary":"123"} ,{"id":"1","name":"123","job":"123","skill":"123","salary":"123"} ,......]

很显然,后端返回的不是标准的 json结构, jquery 在 json.parse 的时候报错咯,然后进 error。
你可以把返回结果,复制到 json校验工具里面看,就知道了