这个jquery.ajax调用的简单JavaScript等价物是什么?

时间:2013-02-19 13:28:40

标签: javascript ajax jquery xmlhttprequest

如何在不使用jQuery的情况下重写下面的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);
    }
});

1 个答案:

答案 0 :(得分: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-file,并询问它的内容。数据以xml格式返回,我们将其保存到xmlDoc。现在,您可以随意使用数据。

我希望这有帮助!