【发布时间】:2014-01-19 18:23:52
【问题描述】:
我试图用 PHP 更新这么多行,我不得不用 ajax 来更新(因为服务器中的执行时间太短,无法执行所有行)。所以我做了一个代码,它应该调用一个.php文件,里面有代码,它更新了mysql表中发送的ROW id。
我有密码
<html>
<head>
<title>Cron job!</title>
<meta charset="UTF-8" />
<script src="jquery.js"></script>
</head>
<html>
<body>
<div id="body">
</div>
<script>
$(document).ready(function(){
var array_items = <?=$table_info?>;
var updated_items = 0;
for(var i=0; i<array_items.length; i++){
// pradedam kreipimąsi į kiekvieną rową jo updeitui su ajax
$.ajax({
url: "ajax_cron.php",
type: 'POST',
dataType: 'json',
data: {update_id : array_items[i]['ids']},
success: function (data) {
// kreipimąsis pavyko
if(data.updated_id){
updated_items += 1;
}
$("#body").html(updated_items + " iš " +array_items.length + " updeitinta sėkmingai");
}, error: function(e){
console.log(e.message);
}
});
}
});
</script>
</body>
</html>
当我用浏览器打开 url 但当我用 CRON JOB 调用这个脚本时它可以工作 - ajax 不起作用.. 那么如何让它工作呢?
【问题讨论】:
-
我不认为通过ajax发布数据可以解决问题,服务器仍然需要在最大执行时间内执行并返回响应。我建议根据 php ini 的要求增加时间
-
我只通过 ajax 发送一个请求,并使用循环多次发送。