优化 AJAX 调用
Optimising AJAX calls
我对 AJAX 很陌生(具体来说 jQuery AJAX),我想 post 到 PHP 函数(通过WordPress) 3 次。除了发送 3 个 POST 请求,有没有办法只调用合并 AJAX 调用?
目前我有:
$.ajax({
url: ajaxurl,
async: false,
cache: false,
type: "POST",
cache: false,
data: { action: 'box', id: box_id, target: "float", value_aj: "none" }
});
$.ajax({
url: ajaxurl,
async: false,
cache: false,
type: "POST",
cache: false,
data: { action: 'box', id: box_id, target: "width", value_aj: "1499" }
});
$.ajax({
url: ajaxurl,
async: false,
cache: false,
type: "POST",
cache: false,
data: { action: 'box', id: box_id, target: "margin", value_aj: "auto"}
});
肯定有更好的方法吗?基本上,接收数据的函数只是 posting 到一个文本文件。
有时没有异步它也只会 运行 第 3 个 AJAX 调用?所以我使用了异步,但显然这会阻塞直到 3 个完成(这很糟糕)。
是否有更优化的方法可以在一次调用中完成此操作?
谢谢。
它和 OP 一样,但是是异步的。并使用 ajaxSetup
$.ajaxSetup(
{
url: ajaxurl,
cache: false
}
);
$.ajax({
type: "POST",
data: { action: 'box', id: box_id, target: "float", value_aj: "none" }
success: function(){
$.ajax({
type: "POST",
data: { action: 'box', id: box_id, target: "width", value_aj: "1499" }
success: function(){
$.ajax({
type: "POST",
data: { action: 'box', id: box_id, target: "margin", value_aj: "auto"}
});
}
});
}
});
我对 AJAX 很陌生(具体来说 jQuery AJAX),我想 post 到 PHP 函数(通过WordPress) 3 次。除了发送 3 个 POST 请求,有没有办法只调用合并 AJAX 调用?
目前我有:
$.ajax({
url: ajaxurl,
async: false,
cache: false,
type: "POST",
cache: false,
data: { action: 'box', id: box_id, target: "float", value_aj: "none" }
});
$.ajax({
url: ajaxurl,
async: false,
cache: false,
type: "POST",
cache: false,
data: { action: 'box', id: box_id, target: "width", value_aj: "1499" }
});
$.ajax({
url: ajaxurl,
async: false,
cache: false,
type: "POST",
cache: false,
data: { action: 'box', id: box_id, target: "margin", value_aj: "auto"}
});
肯定有更好的方法吗?基本上,接收数据的函数只是 posting 到一个文本文件。
有时没有异步它也只会 运行 第 3 个 AJAX 调用?所以我使用了异步,但显然这会阻塞直到 3 个完成(这很糟糕)。
是否有更优化的方法可以在一次调用中完成此操作?
谢谢。
它和 OP 一样,但是是异步的。并使用 ajaxSetup
$.ajaxSetup(
{
url: ajaxurl,
cache: false
}
);
$.ajax({
type: "POST",
data: { action: 'box', id: box_id, target: "float", value_aj: "none" }
success: function(){
$.ajax({
type: "POST",
data: { action: 'box', id: box_id, target: "width", value_aj: "1499" }
success: function(){
$.ajax({
type: "POST",
data: { action: 'box', id: box_id, target: "margin", value_aj: "auto"}
});
}
});
}
});