将原生JS Ajax代码段转换为JQuery替代方案?

时间:2015-11-21 17:40:53

标签: javascript jquery ajax

我正在更新另一位作者的历史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'
);

2 个答案:

答案 0 :(得分:2)

您想附加a function for success

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

答案 1 :(得分:1)

ajax()或简写get()将为您完成所有这些操作。有一个success()功能只能在成功的200状态请求中调用:

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