jQuery:在成功函数中获取url
我希望在jQuery从服务器检索数据之后,从jQuery成功函数获取url。不幸的是,success函数采用的三个参数没有公开原始url:jQuery:在成功函数中获取url,jquery,ajax,Jquery,Ajax,我希望在jQuery从服务器检索数据之后,从jQuery成功函数获取url。不幸的是,success函数采用的三个参数没有公开原始url: success:function(数据、状态文本、jqhxr) 我转储了jqhxr变量,在其中找不到url。我需要url的原因是因为我通过一个循环同时进行了几个调用,因此我不知道会返回哪个Ajax调用。将其设置为异步调用也无济于事 提前谢谢你 你是说打同步电话没用 我的建议是,如果要循环执行一系列AJAX调用,则在返回的数据中设置一个参数,以确定如何处理它。
success:function(数据、状态文本、jqhxr)
我转储了jqhxr变量,在其中找不到url。我需要url的原因是因为我通过一个循环同时进行了几个调用,因此我不知道会返回哪个Ajax调用。将其设置为异步调用也无济于事
提前谢谢你 你是说打同步电话没用
我的建议是,如果要循环执行一系列AJAX调用,则在返回的数据中设置一个参数,以确定如何处理它。但实际上,您必须循环执行多个调用如果操作正确,您应该能够发送足够的参数和数据,以便在一次调用中全部返回,这减少了客户端和服务器、服务器和数据库之间的往返次数,然后服务器返回到客户端。在进行ajax调用时,您可能会使用上下文
$.ajax({
url: "test1.html",
context: $("#call1")
});
$.ajax({
url: "test2.html",
context: $("#call2")
});
<div id="call1" class="hidden" data-url="whatever1"></div>
<div id="call2" class="hidden" data-url="whatever2"></div>
这样你就可以得到任何数据,而不仅仅是url。将要访问的任何数据放入相应的div元素。如果通过jQuery.ajax()或.post()或.get()调用服务器脚本,则即使使用循环,成功回调函数中也必须有可用的url。这是因为您必须将url传递给这三个方法,并且返回的结果特定于您传递的url 例如:
for(var i=0; i<10; i++) {
url = "action_remote_" + i + ".php";
$.ajax({
type:'POST',
url: url,
data:$('#' + str_form_id).serialize(),
success: function(response) {
alert(url);
}
});
}
for(var i=0;i此.url
内部成功函数将起作用,因为此
引用函数的当前上下文,并且由于成功函数是传递给.ajax()
的设置对象的一部分,它将访问url属性
请参阅一篇描述和的文章。我感觉您在这里走错了路(1个处理所有ajax返回的函数),但您不能将从服务器返回的页面名称包含在JSON中吗?您可以转储console.log(this)的“this”变量吗?+1;注释
for(var i=0; i<10; i++) {
url = "action_remote_" + i + ".php";
$.ajax({
type:'POST',
url: url,
data:$('#' + str_form_id).serialize(),
success: function(response) {
alert(url);
}
});
}