我的代码有问题,按钮在jQuery UI对话框中调用此ajax请求
myaudioupload = $.ajax({
url: "some url",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (data) {
var data = jQuery.parseJSON(data);
console.log('json parsed');
if(data.status==1){
console.log('status ok');
}
else{
console.log('status not ok');
}
}
});
如果用户想要取消请求,则用户关闭对话框,然后执行以下行:
close: function(event, ui) {
if(myaudioupload.abort()) {
console.log('aborted');
$('#uploadaudioform')[0].reset();
}}
只有在上传数据时才能正常工作,而不是在上传成功之后或上传被触发之前。在这些情况下,此消息显示
未捕获的TypeError:无法调用未定义的方法'abort'
我甚至在中止时试过这些方法:
if(myaudioupload!=='undefined' && myaudioupload.abort=='function'){
myaudioupload.abort();
console.log('aborted');
$('#uploadaudioform')[0].reset();
}
但这也行不通;发生同样的错误。
所以,请帮助我如何做到这一点,或者我的代码中有什么问题。 感谢。
答案 0 :(得分:3)
更改
myaudioupload!=='undefined'
到
typeof myaudioupload !== 'undefined'
答案 1 :(得分:1)
我认为myaudioupload.abort=='function'
不是检查属性类型的正确方法,请使用
typeof(myaudioupload.abort) == 'function' instead.