最佳实践,如何为使用jQuery的简单php聊天创建ajax请求?
我有一个简单的聊天,我现在的想法是这样的:最佳实践,如何为使用jQuery的简单php聊天创建ajax请求?,php,jquery,ajax,chat,settimeout,Php,Jquery,Ajax,Chat,Settimeout,我有一个简单的聊天,我现在的想法是这样的: function ajax() { $.ajax({ url: '/chat/index/json', type: 'POST', dataType: "json", success: function(data) { // output the html to my chat window } }); window
function ajax() {
$.ajax({
url: '/chat/index/json',
type: 'POST',
dataType: "json",
success: function(data) {
// output the html to my chat window
}
});
window.setTimeout("ajax()",5000);
}
$(document).ready(function() {
ajax();
$('#chat').submit(function(e) {
e.preventDefault();
sendMessage();
});
});
function sendMessage()
{
// grab the values from text textarea
$.ajax({
url: '/chat/index/jsave',
type: 'POST',
dataType: "html",
data: message,
success: function(d) {
// empty the textarea
ajax();
}
});
}
我基本上调用ajax()代码>每5秒运行一次。我不确定这是否是最好的方法,因为我每5秒就有一个对服务器的请求
有更好的方法吗
谢谢首先,尝试使用GET而不是POST。GET将更快地工作,因为您不发送受安全保护的数据,所以可以使用它。如果您有聊天室,则必须每n秒向服务器发送一次请求。
首先,尝试使用GET而不是POST。GET将更快地工作,因为您不发送受安全保护的数据,所以可以使用它。如果您有聊天室,则必须每n秒向服务器发送一次请求。
我认为您正在寻找与Ajax无关的函数,关于setTimeout
的最佳实践是传递函数引用而不是字符串:window.setTimeout(Ajax,5000)
我认为您正在寻找与Ajax无关的方法,setTimeout
的最佳实践是传递函数引用而不是字符串:window.setTimeout(Ajax,5000)代码>不同意“如果您有聊天。。。你必须这样做。你可以,但作为替代,你可以使用长轮询或网络socket。不同意“如果你有聊天室。。。你必须这样做。可以,但也可以使用长轮询或web套接字