1

我正在从 php 向 jquery 发送 JSON 响应:

foreach ( $obj as $o )
{ 
 $a[ $o->key] = utf8_encode($o->id);
}    
die(json_encode($a));

我的 html/jquery 代码是:

$.ajax({
  type:'POST',
  url: "imoveis/carrega_bairros",
  data: ({cidade:10}),  
  dataType:"json",                        
  success: function(ret)
  { alert(ret)      
    if(ret.success)
    {   
      // ...
    }
    else
     alert("error");
  }
}); 

json 响应是完美的(我在控制台上得到它),但是 jquery 正在接收一个 NULL ret 对象并警告“错误”。有什么问题???

4

2 回答 2

2

在 PHP 文件的顶部添加 JSON 标头:

header('Content-type: application/json');
于 2012-12-14T17:04:17.353 回答
1

用这个:-

<?php
$temp = array();
foreach ( $obj as $o )
{ 
 $temp[ $o->key] = utf8_encode($o->id);
 $a[] = $temp;
}    
die(json_encode(array('valid' => true,'content'=>$a)));
?>

在javascript中:-

$.ajax({
    type:'POST',
    url: "imoveis/carrega_bairros",
    data: ({cidade:10}),  
    dataType:"json",                        
    success: function(ret)
    { 
        if(ret.valid == true)
        {
            // get your array as
            var arr = ret.content;
            alert(arr)
        }
        else
        {
            alert('error occured');
        }
    }
}); 
于 2014-12-16T06:15:15.860 回答