この例http://tomcat.apache.org/tomcat-7.0-doc/aio.htmlに従ってCometServletを作成しました。次に、JQueryを使用してデータを取得しようとしました。コードは次のとおりです。
$(function() {
$.longPoll = function(url, success, error) {
$.ajax({
url : url,
success: function(data, status) {
$.longPoll(url, success, error);
if (success) {
success(data, status);
}
},
error: function(data, status) {
$.longPoll(url, success, error);
if (error) {
error(data, status);
}
}
});
};
$.longPoll("./comet", "", function(data, status) {
alert("success:" + data);
}, function(data, status) {
alert("error:" + data);
});
});
問題は、成功関数がトリガーされないことです(FireBugコンソールでデータが来ることを確認できますが)。サーバーが応答ライターを閉じないために発生すると思いますが、それは長いポーリングの目標です:)
誰かがそれをどのように解決できるかについて何か考えを持っていますか?