2011-07-23 9 views
0

でいただきました!間違っているが、私のjQueryのですこのgetJsonコール

$.getJSON('/users/delete_preapproval', { 
    preapproval: $(this).attr('id'), id: $(this).attr('id') }, 
function(data) { 
complete: function(){ 
    console.log('ssss'); 
    } 
}); 

すべてがうまく機能し、サーバーが要求を処理しますが、完全には動作していない...私は私の表示にconsole.logを取得しておりません。私は基本的には成功したAJAX呼び出し

EDIT後に完全に火災に成功した場合に必要:

$('.delete_preapproval').click(function(e){ 
    var count = $(this).closest('.request_count').attr('data'); 
    if(count > 0){ 
     if(count == 1){ 
      var plural = 'request'; 
     }else{ 
      var plural = 'requests'; 
     }   
     if (confirm('Are you sure you want to delete this preapproval you have ' + count + ' active ' + plural)){ 
       $.getJSON('/users/delete_preapproval', { 
        preapproval: $(this).attr('id'), 
        id: $(this).attr('id') 
       }, 
       function(data) { 
        console.log('ssss'); 
       }); 

    }else{ 
      return false; 
     } 
    }else{ 
     $.getJSON('/users/delete_preapproval', { preapproval: $(this).attr('id'), id: $(this).attr('id') }, function(data) { 
     window.location.reload(); 
     }); 
    } 
    e.preventDefault(); 
}); 

答えて

2

あなたが実際に構文エラーを取得する必要があります。ここに私の全体のクリックイベントです。 complete:を削除します。

$.getJSON('/users/delete_preapproval', { 
    preapproval: $(this).attr('id'), 
    id: $(this).attr('id') 
}, 
function(data) { 
    console.log('ssss'); 
}); 

complete:は、この行でlabel [docs]を作成しています。ラベルを削除すると、次のようになります。

function(data) { 
    function(){ 
     console.log('ssss'); 
    } 
} 

あなたは外側の関数は(離れて構文エラー)から呼び出されたときに、その内側の関数が実行されないことを参照してください。

更新:また、返されるデータが適切なJSONであることを確認してください。それ以外の場合、jQueryは解析できず、コールバックも呼び出されません。

+0

はまだSSSS ...私は全体jqueryのコール – Trace

+0

で私の質問を更新していない...動作するはず

$.ajax({ type: 'post', url: "/users/delete_preapproval", dataType: 'json', data: {preapproval : $(this).attr('id'), id : $(this).attr('title')}, complete: function() { console.log('ssss'); } }); 

をしようとしていないのはなぜちょうどあなたの疑問がある場合には、if(count> 0)でそれを作るdef { condition – Trace

+1

@Tamer:サーバーの応答は何ですか?それは適切なJSONですか?たぶん、jQueryは解析できません。 –

1

完全:とその後の関数呼び出しを削除する必要があります。だから、より多くのようなもの:

$.getJSON('/users/delete_preapproval', { 
    preapproval: $(this).attr('id'), id: $(this).attr('id') }, 
function(data) { 
    console.log(data); 
});