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();
    }}

これは、アップロードが成功した後やアップロードがトリガーされる前ではなく、データがアップロードされているときにのみ正常に機能します。これらの条件では、このメッセージが表示されます

キャッチされていない TypeError: 未定義のメソッド 'abort' を呼び出せません

中止中にこれらの方法を試しました:

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 に答える