Ajax请求中的jqueryajax请求
可以在另一个ajax请求中发出ajax请求吗? 因为我需要来自第一个ajax请求的一些数据来发出下一个ajax请求 首先,我使用谷歌地图API获取LAT&LNG,然后我使用该LAT&LNG请求Instagram API基于搜索的位置 再说一次,这可能吗?如果可能,怎么可能Ajax请求中的jqueryajax请求,jquery,ajax,google-maps,instagram,Jquery,Ajax,Google Maps,Instagram,可以在另一个ajax请求中发出ajax请求吗? 因为我需要来自第一个ajax请求的一些数据来发出下一个ajax请求 首先,我使用谷歌地图API获取LAT&LNG,然后我使用该LAT&LNG请求Instagram API基于搜索的位置 再说一次,这可能吗?如果可能,怎么可能 $('input#search').click(function(e){ e.preventDefault(); var source=$('select[name=state] option:selected
$('input#search').click(function(e){
e.preventDefault();
var source=$('select[name=state] option:selected').text()+' '+$('select[name=city] option:selected').text()+' '+$('select[name=area] option:selected').text();
var source=source.replace(/ /g, '+');
if(working==false){
working=true;
$(this).replaceWith('<span id="big_loading"></span>');
$.ajax({
type:'POST',
url:'/killtime_local/ajax/location/maps.json',
dataType:'json',
cache: false,
data:'via=ajax&address='+source,
success:function(results){
// this is where i get the latlng
}
});
} else {
alert('please, be patient!');
}
});
以下是一个例子:
$.ajax({
type: "post",
url: "ajax/example.php",
data: 'page=' + btn_page,
success: function (data) {
var a = data; // This line shows error.
$.ajax({
type: "post",
url: "example.php",
data: 'page=' + a,
success: function (data) {
}
});
}
});
这只是一个例子。您可以根据自己的要求进行定制
$.ajax({
url: 'ajax/test1.html',
success: function(data1) {
alert('Request 1 was performed.');
$.ajax({
type: 'POST',
url: url,
data: data1, //pass data1 to second request
success: successHandler, // handler if second request succeeds
dataType: dataType
});
}
});
有关更多详细信息:请参见从“完成”调用第二个ajax 这是一个例子
var dt='';
$.ajax({
type: "post",
url: "ajax/example.php",
data: 'page='+btn_page,
success: function(data){
dt=data;
/*Do something*/
},
complete:function(){
$.ajax({
var a=dt; // This line shows error.
type: "post",
url: "example.php",
data: 'page='+a,
success: function(data){
/*do some thing in second function*/
},
});
}
});
是的,这是可能的。你可以发布你到目前为止的代码。我已经编辑了我的问题,代码在上面。你确定这是最佳实践吗?我的朋友认为我应该使用一个flag变量,并在外面用一个setInterval函数检查它。这可能也是一个解决方案,但这需要更少的努力和更简单的工作。我无法表达这个答案对我在get成功的内部发帖子有多大的帮助。我对这个答案投了更高的票,但这不应该在.done或.complete函数中完成,以确保完成第一个请求吗?@Daniel只有在ajax获得200 OK时,成功函数才会运行,这确保了第一个请求返回了希望可用的内容,但使用done也是一种很好的方法,无需嵌套。看更多谢谢,你的awnser救了我呵呵
$.ajax({
url: "<?php echo site_url('upToWeb/ajax_edit/')?>/" + id,
type: "GET",
dataType: "JSON",
success: function (data) {
if (data.web == 0) {
if (confirm('Data product upToWeb ?')) {
$.ajax({
url: "<?php echo site_url('upToWeb/set_web/')?>/" + data.id_item,
type: "post",
dataType: "json",
data: {web: 1},
success: function (respons) {
location.href = location.pathname;
},
error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
alert(xhr.responseText); // munculkan alert
}
});
}
}
else {
if (confirm('Data product DownFromWeb ?')) {
$.ajax({
url: "<?php echo site_url('upToWeb/set_web/')?>/" + data.id_item,
type: "post",
dataType: "json",
data: {web: 0},
success: function (respons) {
location.href = location.pathname;
},
error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
alert(xhr.responseText); // munculkan alert
}
});
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error get data from ajax');
}
});