将本机JS Ajax代码段转换为JQuery替代代码段

Converting native JS Ajax snippet to JQuery alternative?

本文关键字:代码 JQuery 转换 本机 JS Ajax 段转换      更新时间:2023-09-26

我正在更新另一位作者的历史JS代码,但在将以下代码转换为JQuery替代代码时遇到问题:

var xhr = new XMLHttpRequest();
xhr.open('GET', songurl, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
    document.getElementById('songdiv').innerHTML = '';
    song.src = (window.webkitURL ? webkitURL : URL).createObjectURL(this.response);
}
}
xhr.send();

更重要的是,为了帮助一致性,Chrome开发工具也建议重新考虑代码。

以下是我开始的内容(很感激没有太多!),我遇到的问题是检查状态代码,如果状态代码是200,则返回响应。

$.ajax({
    url: songurl,
    method: 'GET'
);

您希望附加一个函数以获得成功。

$.ajax({
    url: songurl,
    method: 'GET',
    success: function(response){
        //do stuff with response
    }
})

ajax()或缩写get()将为您完成所有这些工作。有一个success()函数只在成功的200状态请求时调用:

$.get( songurl, 
  function(data) {
    document.getElementById('songdiv').innerHTML = '';
    song.src = (window.webkitURL ? webkitURL : URL).createObjectURL(data);
  },
  'blob'
);