我正在更新另一位作者的历史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'
);
答案 0 :(得分:2)
$.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'
);