【发布时间】:2011-08-08 11:14:19
【问题描述】:
嗨,我在使用 json 检索数据的 ajax 函数上遇到了这个错误。它不会返回任何数据。下面是我的代码
$.ajax({
url: "php/getCategory.php?action=getyear",
cache: false,
dataType: "json",
success: function(data){
$.each(data.items, function(i,item){
$("#catYear").append('<option value="'+item.id+'">'+item.name+'</option>');
});
}
});
当我尝试删除 dataType: "json" 时,它将传递给 success: function。我认为问题出在我的json上。我还回显了我的 getCategory.php 的输出,我认为它们没有问题。下面是我的 php json_encode 的输出。
{items:[{"id":"1","name":"2010"},{"id":"2","name":"2011"}]}
谢谢!
【问题讨论】:
-
PHP 输出是否带有 JSON 标头?
-
@dotty ...你是什么意思,对不起,我是新来的......你能给我举个例子吗?谢谢!
-
@dotty...我正在使用 json_encode。我认为没有必要把它放在我的标题上。我说的对吗?
-
你应该用jsonlint.com检查你的JSON——它是无效的。
-
json_encode会给你一大块 JSON。你仍然需要说header('content-type: application/json');否则 PHP 会声称它正在发送一个 HTML 文档。
标签: javascript jquery ajax json