方法

2016-05-24 5 views
1

私は$ .whenのコールAjaxの方法の後も応答がないときでアヤックスからの応答がない:方法

$.when(tht.ajax.getUserDrp()).done(function (data) { 
    if(data) console.log('hava data') 
    else console.log('no data') 
}); 

getUserDrp機能:結果として

getUserDrp: function(){ 
    $.ajax({ 
    url: "../account/getLevel" , 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    success: function (data) { 
     // do somthing 
    } 
    }); 
} 

を常にで 'いいえデータ' を印刷しませんコンソール、なぜ?

+0

あなたの成功関数内のデータ値は何ですか? –

答えて

2

コールバックを使用することができます

getUserDrp: function(){ 
    return $.ajax({ 
    url: "../account/getLevel" , 
    type: "POST", 
    contentType: "application/json; charset=utf-8" 
    }); 
} 

を次のようにあなたの関数を変更する必要があるが、あなたを使用するには$.ajax関数の結果が返されないので、.done()は呼び出されません。

試してみてください。

getUserDrp: function(){ 
    return $.ajax({ 
    url: "../account/getLevel" , 
    type: "POST", 
    contentType: "application/json; charset=utf-8" 
    }); 
} 
+0

yessss tnx alot!解決しました!私はそれを忘れていた.... tnx大好き! – Mampel

0

が行われたとき、あなたはまた、あなたは約束としてgetUserDrpを使用しようとしている代わりに

getUserDrp: function(callback){ 
    $.ajax({ 
    url: "../account/getLevel" , 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    success: function (data) { 
     callback(data) 
    } 
    }); 
} 

getUserDrp(function(data){ 
if(data) console.log('hava data') 
    else console.log('no data') 
}) 
+0

あなたの答えはtnxですが、私のコードが正しく動作しない理由を知る必要があります! – Mampel

+0

それがあなたのために働くかどうか確認してください – ykay

+0

それはあなたのポイントを押し上げるために質問に答えます。 – GiamPy