私は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;
私は何を間違っていますか?前もって感謝します。