我是 JSON 新手,并试图弄清楚如何让这个真正简单的自动完成功能与一些格式化的响应一起工作。(我看到的所有 jquery 自动完成都使用我宁愿远离的巨大的 ui 库)。
这是我到目前为止所拥有的:
$(function() {
// u check
$('#search-input').keyup(function() {
$.ajax({
dataType: 'jsonp',
type: "POST",
url: "/includes/myautocomplete/tags.php",
data: "callback=autocomplete&q="+$('#search-input').val(),
jsonp: 'autocomplete',
success: function(json){
$('#search-resp').html(json);
}
});
});
});
我正在尝试使用以下格式格式化响应:
function autocomplete(json) {
var html ='<ul>';
for(i=0;i<json.length;i++) {
var n = json[i];
html = '<li>'+n['tagname']+'</li>';
}
html = '</ul>';
return html;
}
我的 PHP 看起来像:
# JSON-encode the response
$json_response = json_encode($array);
# Optionally: Wrap the response in a callback function for JSONP cross-domain support
if($_POST["callback"]) {
$json_response = $_POST["callback"] . "(" . $json_response . ")";
}
# Return the response
echo $json_response;
我究竟做错了什么?先感谢您。