2

我的代码有问题,一个按钮从 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();
    }}

这仅在上传数据时才有效,而不是在上传成功之后或触发上传之前。在这些情况下,会显示此消息

未捕获的类型错误:无法调用未定义的方法“中止”

我什至在中止时尝试过这些方法:

if(myaudioupload!=='undefined' && myaudioupload.abort=='function'){
                        myaudioupload.abort();
                        console.log('aborted');
                        $('#uploadaudioform')[0].reset();
                        }

但这也行不通;发生同样的错误。

所以请帮助我该怎么做,或者如果我的代码有问题。谢谢。

4

2 回答 2

3

改变

myaudioupload!=='undefined'

typeof myaudioupload !== 'undefined'
于 2012-09-07T06:32:58.223 回答
1

我认为myaudioupload.abort=='function'检查属性类型不是正确的方法,请使用

 typeof(myaudioupload.abort)  == 'function' instead.
于 2012-09-07T06:44:29.533 回答