Php 每个LI的jqueryajax操作
我目前正在创建一个更新脚本,其中我有一个任务列表,每个任务都在UL中详细说明,示例如下:Php 每个LI的jqueryajax操作,php,jquery,ajax,Php,Jquery,Ajax,我目前正在创建一个更新脚本,其中我有一个任务列表,每个任务都在UL中详细说明,示例如下: <ul id="tasks"><li id="task1">Task one</li><li id="task2">Task two</li><li id="task3">Task three</li></ul> 有人能帮忙吗 $('li').each(function(index) {\ $.post("t
<ul id="tasks"><li id="task1">Task one</li><li id="task2">Task two</li><li id="task3">Task three</li></ul>
有人能帮忙吗
$('li').each(function(index) {\
$.post("test.php", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
});
我在jquery函数中调用jQueryAjax函数。我希望这能奏效
如果希望同时对页面中的多个元素执行AJAX操作,最好将它们全部编译在一起,与服务器进行一次AJAX交互,然后解析响应。否则,如果您有一个包含100个项目的列表,那么您将执行100次到服务器的往返-任何操作都不高效 因此,以@zod的代码为基础:
var idArray = array();
$('li').each(function(){
idArray.push( $(this).attr('id') );
});
$.post(
"test.php" ,
{
ids: idArray.join(',') ,
anything: "else"
} ,
function(data){
alert("Data Loaded: " + data);
});
});
在PHP(或其他服务器端语言)脚本中,只需将
ids
变量拆分为单独的值,对每个值进行处理,然后连接完成的响应(可能使用JSON),然后确保$.post()中的函数
根据需要解析数据。您可以编写一个函数,该函数循环直到用完
元素,然后转到AJAX上的成功,如下所示:
function execTask(li) {
if(!li.length) return; //no more left, abort out
$.ajax({
url: "something",
data: { task: li.attr("id") },
success: function() { execNextTask(li.next()); }
});
}
execTask($('#tasks li:first'));
然后在加载或任何时候想要启动时,只需在第一次调用它,如下所示:
function execTask(li) {
if(!li.length) return; //no more left, abort out
$.ajax({
url: "something",
data: { task: li.attr("id") },
success: function() { execNextTask(li.next()); }
});
}
execTask($('#tasks li:first'));
我也看不到你代码中的ajax。你能告诉我它在哪里吗?问题还不清楚。编写ajax代码需要帮助吗,还是ajax代码不起作用?或者它正在工作,但只是没有按顺序开火?