検索ボックス機能を実装しようとしていますが、ユーザーが Enter キーを押すたびに$.getJSON
、Web サービスを照会するために呼び出しています。問題は、keypress is handler が呼び出されていることがわかりますが、決して実行されないこと$.getJSON()
です。
編集: Fiddler を使用してさらにデバッグしました。リクエストが送信されていることがわかり、HTTP 200 レスポンスが返されます。コードの残りの部分が実行されない理由に驚いています。
何が問題なのですか?
$(document).ready(function() {
$("#searchUser").keypress(function (event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
var queryString = this.value;
$.getJSON("/api/users", function(result) {
if (result != null) {
result = sortJSON(result, 'name');
var html = '<tbody>';
var i = 0;
for ( i = 0; i < result.length; i++) {
var j = 0;
var groups = '';
html += '<tr>';
html += '<td>' + result[i].id + '</td>';
html += '<td>' + result[i].emailAddress + '</td>';
html += '<td>' + result[i].name + '</td>';
result[i].groups = sortJSON(result[i].groups, 'name');
for ( j = 0; j < result[i].groups.length; j++) {
groups += result[i].groups[j].name + ", ";
}
html += '<td>' + groups + '</td>';
html += '<td>' + result[i].department.name + '</td>';
html += '<td>SK</td>';
html += '</tr>';
}
html += '</tbody>';
$('#dataTable').append(html);
}
});
}
event.stopPropagation();
});
});