2014-01-25 82 views
0

如何重新發送相同的ajax請求,直到用純javascript(請不要框架)關閉頁面。我的代碼如下:重新發送ajax請求,直到頁面關閉

xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("POST","demo_post2.asp",true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send("fname=Henry&lname=Ford");  
xmlhttp.onreadystatechange=function(){ 
if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
    // resend the same request, until the close of the page 
} 
+0

你需要發送幾次這個ajax? –

+0

是的,頁面關閉時沒有任何反應。 – user3154581

+0

嗯,我想你可以使用setInterval(your_function,1000),這樣你將自動調用你的函數每1000毫秒。 –

回答

1

我不知道你爲什麼想這樣做,但是在這裏你去。

// Reusing variable to keep garbage low. 
var xhr; 
// Recursive request. 
function recursiveXHR() { 
    xhr = new XMLHttpRequest(); 
    xhr.open('POST','demo_post2.asp',true); 
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
    // This is where the method is called again once the previous request is done. 
    xhr.addEventListener('load', recursiveXHR, false); 
    xhr.send('fname=Henry&lname=Ford'); 
} 
// Initializing the recursive calling. 
recursiveXHR();