Javascript Ajax responseText由于某些原因而被修剪

Javascript Ajax responseText由于某些原因而被修剪,javascript,php,arrays,ajax,Javascript,Php,Arrays,Ajax,我有一个php脚本,它从服务器获取数据并返回array/json。直接(在浏览器中输入url)访问此脚本将返回所需的结果(数组/json) 但当我使用ajax访问同一个脚本时,返回数组/json会被修剪。比如说 这是直接访问脚本的输出 Array ( [user_id] => Array ( [0] => 46 [1] => 16 ) [name] => Array

我有一个php脚本,它从服务器获取数据并返回array/json。直接(在浏览器中输入url)访问此脚本将返回所需的结果(数组/json)

但当我使用ajax访问同一个脚本时,返回数组/json会被修剪。比如说

这是直接访问脚本的输出

Array
(
    [user_id] => Array
        (
            [0] => 46
            [1] => 16
        )

    [name] => Array
        (
            [0] => Sewak
            [1] => Ram Bachan
        )

    [date] => Array
        (
            [0] => 2016-03-04
            [1] => 2016-03-04
        )

    [zone] => Array
        (
            [0] => North
            [1] => North
        )

    [state] => Array
        (
            [0] => Punjab
            [1] => Punjab
        )

    [city] => Array
        (
            [0] => Patiala
            [1] => Amritsar
        )

    [outlet] => Array
        (
            [0] => asdfasdf
            [1] => Malout Road 1
        )

)
来自Ajax的响应

Array
(
    [user_id] => Array
        (
            [0] => 16
        )

    [name] => Array
        (
            [0] => Ram Bachan
        )

    [date] => Array
        (
            [0] => 2016-03-04
        )

    [zone] => Array
        (
            [0] => North
        )

    [state] => Array
        (
            [0] => Punjab
        )

    [city] => Array
        (
            [0] => Amritsar
        )

    [outlet] => Array
        (
            [0] => Malout Road 1
        )

)
您可以看到每个数组中有两个集合,ajax只从Results返回一个集合(最后一个)

下面是php脚本

header("Content-Type: application/json; charset=UTF-8");
require_once('../../db/conn.php');
//print_r($_REQUEST);
$zone = $_REQUEST['zones'];
$state = $_REQUEST['state'];
$state = "Punjab";
$city = $_REQUEST['city'];
$vmId = $_REQUEST['vm'];
$approval_status = $_REQUEST['approval_status'];
$dealersName = $_REQUEST['outlet'];
$from_date = str_replace("-", "/", $_REQUEST['from_date']);
$to_date = str_replace("-", "/", $_REQUEST['to_date']);

//Creating SQL query
$sql = "SELECT * FROM uploads WHERE 1=1 ";

if (!empty($zone)) {
    $sql .= "AND zone='$zone'";
}
if (!empty($state)) {
    $sql .= "AND state='$state'";
}
if (!empty($city)) {
    $sql .= "AND city='$city'";
}
if (!empty($vmId)) {
    $sql .= "AND user_id='$vmId'";
}
if (!empty($dealersName)) {
    $sql .= "AND outlet_name='$dealersName'";
}
if (!empty($approval_status)) {
    if ($approval_status != "all") {
        $sql .= "AND approved='$approval_status'";
    }
}
if (!empty($from_date)) {
    $sql .= "AND dateTime >= '$from_date'";
}
if (!empty($to_date)) {
    $sql .= "AND dateTime <='$to_date'";
}
//echo $sql;
$searchResults = mysqli_query($conn, $sql) or die("Search Failed = >" . mysqli_error($conn));
$id = array();
$name = array();
$date = array();
$zone = array();
$state = array();
$city = array();
$outlet = array();

while ($data = mysqli_fetch_array($searchResults)) {
    array_push($id, $data['user_id']);
    array_push($name, $data['name']);
    array_push($date, $data['dateTime']);
    array_push($zone, $data['zone']);
    array_push($state, $data['state']);
    array_push($city, $data['city']);
    array_push($outlet, $data['outlet_name']);
}

$jsonData = array(
    "user_id" => $id,
    "name" => $name,
    "date" => $date,
    "zone" => $zone,
    "state" => $state,
    "city" => $city,
    "outlet" => $outlet
);
print_r($jsonData);
//echo json_encode($jsonData);
exit();
header(“内容类型:application/json;charset=UTF-8”);
需要_一次('../../db/conn.php');
//打印请求($);
$zone=$_请求['zones'];
$state=$_请求['state'];
$state=“旁遮普”;
$city=$_请求['city'];
$vmId=$_请求['vm'];
$approval\u status=$\u请求['approval\u status'];
$DealerName=$_请求['outlet'];
$from_date=str_replace(“-”、“/”、$”请求['from_date']);
$to_date=str_replace(“-”,“/”,$u请求['to_date']);
//创建SQL查询
$sql=“从上传中选择*,其中1=1”;
如果(!空($zone)){
$sql.=“和区域=”$zone';
}
如果(!空($state)){
$sql.=“和state='$state'”;
}
如果(!空($city)){
$sql.=“AND city=”$city';
}
如果(!空($vmId)){
$sql.=“和用户_id='$vmId'”;
}
如果(!空($DealerName)){
$sql.=“和门店名称='$DealerName'”;
}
如果(!空($approval_status)){
如果($approval\u status!=“all”){
$sql.=“和已批准=”$approval\u status';
}
}
如果(!空($from_date)){
$sql.=“和日期时间>=”$from_date';
}
如果(!空($to_date)){
$sql.=“AND dateTime”.mysqli_错误($conn));
$id=array();
$name=array();
$date=array();
$zone=array();
$state=array();
$city=array();
$outlet=array();
而($data=mysqli\u fetch\u数组($searchResults)){
数组推送($id,$data['user\u id']);
数组推送($name,$data['name']);
数组推送($date,$data['dateTime']);
数组推送($zone,$data['zone']);
数组推送($state,$data['state']);
数组推送($city,$data['city']);
数组推送($outlet,$data['outlet\u name']);
}
$jsonData=数组(
“用户id”=>$id,
“name”=>$name,
“日期”=>$date,
“区域”=>$zone,
“state”=>$state,
“城市”=>$city,
“outlet”=>$outlet
);
打印(jsonData);
//echo json_编码($jsonData);
退出();
下面是Javascript/Ajax

function getResults() {
    loader.style.visibility = "visible";
    var zoneValue = zone;
    var stateValue = state;
    var cityValue = city.value;
    var vmValue = vm.value;
    var outletValue = outlet.value;
    for (var i = 0; i < approved.length; i++) {
        if (approved[i].checked) {
            approvedValue = approved[i].value;
            break;
        }
    }
    var fromValue = from.value;
    var toValue = to.value;
    var params = "query=1&zones=" + zoneValue + "&state=" + stateValue + "&city=" + cityValue + "&vm=" + vmValue + "&approval_status=" + approvedValue + "&outlet=" + outletValue + "&from_date=" + fromValue + "&to_date=" + toValue;
    console.log(zoneValue, stateValue, cityValue, vmValue, outletValue, approvedValue, fromValue, toValue);

    var ajax = new XMLHttpRequest();
    ajax.open("POST", "includes/masterData.php", true);
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax.onreadystatechange = function () {
        if (ajax.readyState == 4 && ajax.status == 200) {
            console.log(ajax.responseText);
            loader.style.visibility = "hidden";
        }
    };
    ajax.send(params);
}
函数getResults(){
loader.style.visibility=“可见”;
var zoneValue=区域;
var stateValue=状态;
var cityValue=city.value;
var vmValue=vm.value;
var outletValue=outlet.value;
对于(变量i=0;i
您没有输出JSON,您在php脚本中注释掉了
JSON\u encode
调用。@PatrickEvans我注释掉了测试脚本。当直接访问脚本和通过ajax调用时,输出与同一脚本不同。我在控制台中输出数组。您在直接浏览时是否传递了相同的url参数?是的,全部参数在脚本中输入
print\r($\u REQUEST)
,然后查看它是否真的得到了相同的参数。