我正在使用以下脚本将即时消息异步提交到我的数据库。
function sendMessage(content, thread_id, ghost_id)
{
var url = "ajax_submit_message.php";
var data = { content: content, thread_id: thread_id };
var type= "POST";
$.ajax({
url:url,
type:type,
data:data,
success:function(){ unGhost(ghost_id); refreshMessages(); },
error:function(){alert("FAIL");}
});
}
这在正常情况下的行为完全符合预期,但是当我在我的PHP脚本中添加'sleep(10)'以试图找出它在繁重的服务器负载下如何工作时,我发现该脚本只能处理一个在它中止之前几乎没有请求。
该脚本将完成三个成功的请求,但在第四个上它将每次都失败。它不会调用错误函数,而是调用成功函数。我不知道如何调试它,因为在任何地方都没有抛出任何类型的错误或异常。谁能告诉我可能是什么造成的?
编辑:由于请求,这里是我如何调用该函数:
function checkKey(e)
{
if (e.keyCode == 13)
{
//Get message and thread_id
var message_field = $(':focus');
//Validate and escape content
var content = message_field.val();
if (content == "") {return;}
//Grab thread_id
var id = message_field.attr('id');
var last_underscore = id.lastIndexOf("_");
var thread_id = id.substring(last_underscore+1);
//Clear input
message_field.val("");
//Add message to page
var ghost = insertGhost(thread_id,content,window.user_id);
//Send message on to server
sendMessage(content,thread_id,ghost);
}
}