gpt4 book ai didi

php - Jquery Ajax 插入速度极慢

转载 作者:行者123 更新时间:2023-11-30 23:15:18 25 4
gpt4 key购买 nike

我很难弄清楚为什么触发 AJAX 调用的 onblur 需要很长时间才能完成。有时需要几十秒。似乎我拥有的“描述”字段越多,花费的时间就越长。任何人都可以查看此代码,并告诉我他们是否认为我遗漏了什么?

var description;
var id;
$(".description").live('blur',function() {
var success;
var dataType;
$(".dynamic_row,<?php echo $services; ?>").each(function() {
var row = $(this);
var id = row.find(".id").val() || 0;
var description = row.find(".description").val() || "";
var q = <?php echo $q; ?>;
$.ajax({
type: "POST",
url: 'setdescname.php',
data: {ider:id, descriptionr:description, qr:q},
success: function(result) {
if(result.isOk == false)
alert(result.message);
},
dataType: dataType
});
});
});

<?php echo $services; ?>提取大约 16 个由复选框激活的可能动态行的名称。那部分工作得很好......

这是setdescname.php中的代码

require_once('include/database.php');

if (!dbConnect()) {
echo 'Error connecting to database';
exit;
}

$id = $_POST['ider'];
$description = $_POST['descriptionr'];
$q = $_POST['qr'];

$qry = "UPDATE items SET description = '".$description."' WHERE id = '".$id."'";

$result = mysql_query($qry) or die(mysql_error());

如果您认为这很重要,我的代码前面有以下内容。

$.ajaxSetup({async:false});
$.ajaxSetup({cache:false});

这是必需的,因为所有用户都将在 IE 中,并且它将缓存 ajax 调用,呈现新的“动态”字段的添加而没有必要的功能(在新添加时带回 mysql_insert_id())。

所有这些都有效,只是速度太慢了......

如果有任何意见或建议,我将不胜感激。谢谢。

最佳答案

为了快速需要ajax缓存和ajax异步

Ajax 缓存

$.ajax({ url: '/?=testDefault', 数据:{'缓存':'默认'} });//无时间戳

$.ajaxSetup({ cache: false });
$.ajax({ url: '/?=testFalse/',
data: { 'cache': 'false' }
});//yes, a timestamp

$.ajaxSetup({ cache: true });
$.ajax({ url: '/?=testTrue/',
data: { 'cache': 'true' }
}); //no timestamp

对于 Ajax 异步

$.ajax({
url: "super.php",
data: "a="+a,
type: "POST",
async: false,
success: function(data) {
alert(data);
}
});

关于php - Jquery Ajax 插入速度极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18160182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com