Vanilla Javascript版的AJAX

时间:2018-06-09 16:42:43

标签: javascript jquery ajax

当我想要使用的是AJAX时,如何删除下载完整jquery库的需要。是否有一个较小的文件专注于AJAX或是否有此代码的Vanilla Javascript版本?

<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){

            $.ajax({
                type: 'POST',
                url: 'cookies.php',
                success: function(data) {
                    alert(data);
                }
            });
   });
});
</script>

3 个答案:

答案 0 :(得分:2)

您可以使用fetch功能。

以下是链接中的示例:

fetch('http://example.com/movies.json')
  .then(function(response) {
    return response.json();
  })
  .then(function(myJson) {
    console.log(myJson);
  });

答案 1 :(得分:2)

您可以尝试使用 XMLHttpRequest ,如下所示。

<!DOCTYPE html>
<html>
<body>

<h2>The XMLHttpRequest Object</h2>

<button type="button" onclick="loadDoc()">Request data</button>

<p id="demo"></p>

<script>
function loadDoc() {

   var xhttp = new XMLHttpRequest();
   xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("demo").innerHTML = this.responseText;
       }
     };

   xhttp.open("POST", "cookies.php", true);
   xhttp.send();
}
</script>

</body>
</html>

演示: https://www.w3schools.com/js/tryit.asp?filename=tryjs_ajax_first

参考: https://www.w3schools.com/js/js_ajax_http_send.asp

答案 2 :(得分:0)

您可以使用内置获取模块

fetch('http://yourapi.com/data')
  .then(response => {
    console.log(response)
  });