Php 奇怪的JSON返回

Php 奇怪的JSON返回,php,ajax,json,Php,Ajax,Json,我对JSON请求有问题。我有一个页面有两个不同的请求, 第一个按预期工作,但第二个不断出现意外的令牌o错误,我不理解。 第一个ajax调用: $.ajax({ type:'POST', dataType: 'json', url: 'inc/getloads.php?q='+boxnum, success:function(data){ if (da

我对JSON请求有问题。我有一个页面有两个不同的请求, 第一个按预期工作,但第二个不断出现意外的令牌o错误,我不理解。 第一个ajax调用:

$.ajax({
              type:'POST',
              dataType: 'json',
              url: 'inc/getloads.php?q='+boxnum,
              success:function(data){
                  if (data.l_id && data.u_id) {
                     var t_id = data.t_id;
                     var d_id = data.d_id;
                     var b_id  = data.b_id;
                     var bcont  = data.bcont;
                     var po_num = data.po_num;
                     var f_date = data.f_date;
                     var t_date  = data.t_date;
                     var depart  = data.depart;
                     var dest = data.dest;
                     var miles = data.miles;
                     var p_amt  = data.p_amt;
                     var tpm  = data.tpm;
                     var d_total = data.d_total;

                  }
这很好,所有数据都与预期的一样,但这里是第二个调用:

$.ajax({
              type:'POST',
              dataType: 'json',
              url: 'inc/getfunctions.php?q='+boxnum+'&func=load_po',
              success:function(data){
                    if (data.po_num) {
                     var e_id = data.l_id;
                     var load_num  = data.load_num;
                     var expense  = data.expense;
                     var ex_cost  = data.ex_cost;
                     var po_num  = data.po_num;

                  }
这一个炸弹带有意想不到的标记,我已经读过两次关于不解析它的内容,这是一个解决方案吗? 第二次调用的php:

$func = $_REQUEST['func'];
$_SESSION['func']= $func;
switch ($func) {
case 'load_po':
$q = intval($_REQUEST['q']);
require_once("medoo.min.php");
$database = new medoo();
$database->select("Expenses", "*", array(
"id" => $q));
if (count($datas)>0) {
    foreach($datas as $data){
        $l_id=$data['id'];
        $po_num=$data['po_num'];
        $load_num=$data['load_num'];
        $expense=$data['expense'];
        $ex_cost=$data['ex_cost'];
    }
    $rdata = array(
    'l_id'=> $l_id,
    'po_num'=> $po_num,
    'load_num'=> $load_num,
    'expense'=> $expense,
    'ex_cost'=> $ex_cost
    );
    echo json_encode($rdata); //$datas['first_name'] 
} else {
    echo 'no datas';
}
break;
}

$datas从未初始化 您有一个foreach,可以执行多次,但只分配一次结果:

foreach($datas as $data){
  $l_id=$data['id'];
  $po_num=$data['po_num'];
  $load_num=$data['load_num'];
  $expense=$data['expense'];
  $ex_cost=$data['ex_cost'];
}
$rdata = array(
 'l_id'=> $l_id,
 'po_num'=> $po_num,
 'load_num'=> $load_num,
 'expense'=> $expense,
 'ex_cost'=> $ex_cost
);
因此,如果您只想从数据中检索一行,可以执行以下操作:

$data = $datas[0];

$l_id=$data['id'];
$po_num=$data['po_num'];
$load_num=$data['load_num'];
$expense=$data['expense'];
$ex_cost=$data['ex_cost'];

$rdata = array(
  'l_id'=> $l_id,
  'po_num'=> $po_num,
  'load_num'=> $load_num,
  'expense'=> $expense,
  'ex_cost'=> $ex_cost
);

使用开发者工具,网络选项卡->您可以调查php文件的输出。可能它没有返回您期望它返回的内容。您能发布爆炸的JSON吗?首先将您的数据编码到URL中使用。开发者工具,网络选项卡->无数据我明白了为什么我无法返回我想要的内容,无数据为我指明了正确的方向。