試圖將一個變量作爲參數傳遞給嵌套的Ajax請求的回調時,我面臨着一個奇怪的行爲失去了:變量Ajax請求
$('form').on('submit',function(e){
$.ajaxSetup({
header:$('meta[name="_token"]').attr('content')
})
e.preventDefault(e);
$.ajax({
type:"POST",
url:dest_url,
data:$(this).serialize(),
dataType: 'json',
success: function(data){
if($.isEmptyObject(data.error)){
// performing some actions
// at this point, data.id contains my id
// We call an other function,
// which performs an other ajax request,
// with data.id as parameter
listRefresh(data.id);
}else{
// error message
}
},
error: function(data){
// error message
}
})
});
function listRefresh(id){
console.log(id); // At this point, id contains my id
$.ajaxSetup({
header:$('meta[name="_token"]').attr('content')
})
var src_url = location.href + '?id='+id;
$.ajax({
url: location.href,
type: 'GET',
cache: false
})
.done(function(id) {
console.log(id);
// At this point the console outputs
// all my html code in place of id
// I tried to pass data, response, id, but still the same issue
})
.fail(function() {
//error message
});
}
代碼註釋中指出上面說,在listRefresh AJAX進行回調,我的變量似乎disapear和console.log輸出我的整個HTML代碼在控制檯... 我從來沒有見過這樣的事情。你有解釋爲什麼,我怎樣才能將我的id作爲參數傳遞給ajax回調函數?
沒有看到後端代碼,我想你'url:src_url'而不是'url:location.href'。否則,我不確定你的期望是什麼 - 你只是向當前頁面發出GET請求,並將返回的內容轉儲出去,這只是你的HTML。 – Quasdunk
@Quasdunk,謝謝,但這是正常的,我使用src_url下面,但我沒有粘貼我的整個代碼。我的問題解決了! –