【发布时间】:2012-11-02 14:03:19
【问题描述】:
在我的本地服务器上,一切正常,但是当我将脚本上传到我的网络服务器并运行脚本时,我收到一条 php - mysql 错误消息:连接太多。
我正在尝试向$.post(); 函数插入延迟,但我不知道如何。
var videoArrays = new Array();
videoArrays[0] = '34hgfj23rj';
videoArrays[1] = '2kj4mfwjmhkg';
videoArrays[2] = '23kjrmkf4ekjf';
...
videoArrays[152] = '3ok4jtmfj324hfh';
for(var i in videoArrays){
$.post('get_data.php', { v_data : videoArray[i] },
function(data){
if(data == 'exists'){
alert('Data exists in data base !');
}
else alert('Invalid data !');
});
}
我收到错误,因为我在 3 秒内打开/关闭了许多连接(152 个不同的连接)!
我需要添加延迟,但在哪里或如何...我不知道。
【问题讨论】:
-
可能是显而易见的,但为什么不保持连接打开,运行所有代码并在之后关闭它,通过在一个请求中发布 videoArrays。
-
我基本上同意@PaulGrimshaw - 您应该让服务器上的 API 接受名称列表,并且它应该返回一个地图,指示哪些可用或不可用。 (是的,对不起,我还在做我的第一杯咖啡:-)
-
我没有关闭与mysql的连接('get_data.php'),我只包含了'config.php'进行连接。
-
我不知道如何使用 jQuery,但使用常规 javascript,您可以将加载事件侦听器附加到您的 POST 请求。您可以侦听响应,然后迭代到下一个请求。 'ajaxrequest.addEventListener('load', handleload, false);'
标签: javascript jquery post