2013-02-19 82 views
0

如何在不使用jQuery的情況下重寫下面的jQuery.Ajax調用,但僅使用普通的JavaScript?這個jquery.ajax調用的普通JavaScript等價物是什麼?

謝謝!

$.ajax({ 
    type: 'POST', 
    url: url, 
    contentType: 'application/json', 
    data: JSON.stringify(request), 
    success: function (result) { 
     alert("Submitted succesfully!"); 
    }, 
    error: function (jqXHR, textStatus, errorThrown) { 

     alert('Error Occured' + errorThrown); 
    } 
}); 

回答

6

如果你真的想搞清楚在jQuery的ajax的功能呢,打開了jQuery源和看看Ajax的功能,這裏是到源鏈接。

http://code.jquery.com/jquery-1.9.1.js 

如果你想做到這一點沒有jQuery的,你必須創建一個XML HTTP請求

http://www.w3.org/TR/XMLHttpRequest/

這基本上是AJAX是什麼(異步JavaScript和XML)。

下面是一個例子:

var xmlhttp; 

if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 

else{ // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.open("GET","ajax_info.txt",true); 
xmlhttp.send(); 

xmlDoc=xmlhttp.responseXML; 

這將創建一個XMLHTTP對象,並使用GET發送到指定的URL,在這種情況下,一個txt文件,並要求它的內容。數據以xml格式返回,我們將其保存到xmlDoc。現在,您可以隨意使用數據。

我希望這有助於!

+4

是的,但我不確定這是OP尋找的信息,雖然也許他們可以澄清。 – 2013-02-19 13:31:20

+3

聽起來好像他們只是想執行AJAX調用,他們並不關心jQuery將在內部執行的所有額外處理選項等。 – 2013-02-19 13:32:54

+0

那麼,jQuery確實做了ALOT,它不像$ .ajax()會做一行代碼,所以這不是一個簡單的問題,唯一的解決方法是查看源代碼。 – 2013-02-19 13:33:18