我有以下的Javascript代码:
$.get("categories/json_get_cities/" + stateId, function(result)
{
//code here
}, 'json'
);
处理该数据的PHP代码基本上会输出类似以下内容:
function json_get_cities($stateId)
{
//code here
echo json_encode(array('cities'=>$cities));
}
在Firebug控制台中,我可以看到ajax请求按预期进行,收到200 OK响应,并返回包含城市的正确JSON对象。但是由于某种原因,我传递给jquery的回调函数没有被调用。
即使在函数顶部放置一个
debugger
调用,例如:$.get("categories/json_get_cities/" + stateId, function(result)
{
debugger;
//code here
}, 'json'
);
如果我不传递 'json' 的第三个参数,函数就无法正常工作。但是如果我删除 'json' 的第三个参数,则可以调用该函数(但响应文本将被视为纯文本,而不是 JSON 对象)。
以下是服务器返回的 JSON 响应:
{"cities":[{"id":"1613","stateId":"5","name":"Acton"}]}
任何想法?