2013-03-12 19 views
5

私はバックボーンが初めてですが、基本モデルを作成しましたが、モデルのデータをフェッチしようとしました。私はサーバーがデータを返しているが、フェッチはエラーコールバックを呼び出していることを知っている。バックボーンフェッチによって生成されたエラーを見つけるにはどうすればいいですか

これは問題ありませんが、どのようにエラーが生成されているのかわかりません。

mUser = Backbone.Model.extend({ 
    urlRoot: CURRENT_URL+'user', 
    defaults: { 
     name: '', 
     age: 22, 
     email: '' 
    }, 
    initialize: function(){ 

    } 
    }); 

    user = new mUser({'id':1}); 

    var x = user.fetch({ 
    error: function(model, xhr, options){ 
     alert('Error on fetch') 
     console.log(xhr.responseText); 
    }, 
    success: function(model, response, options) { 
     alert(user.toJSON()); 
    } 
    }) 
    console.log('x email',x.email) 

私が述べたように、responseTextがある、私は、サーバーから見ることを期待したデータを持っている:

{ 'ID':

ここに関連するコードの '1' は、 'name': 'joe'、 'age': '25'、 'email': '[email protected]'}

多分私はPhoneGap android app 。私はそれが私が持っている問題に重要だとは思わないが、私のデバッグオプションを制限しています。

+0

返されたhttpステータスコードをチェックしましたか? – soulcheck

+0

サーバーから200が送信されます。 –

+0

CURRENT_URLの値は何ですか?どのようにリクエストを監視していますか? – soulcheck

答えて

13

jQueryがサーバーからのJSON応答を解析しようとすると、おそらくparsererrorが表示されます。 parsererrorを取得しているかどうかを確認するには、completeコールバックを追加し、textStatusパラメータを確認してください。例えば

user.fetch({ 
    complete: function(xhr, textStatus) { 
    console.log(textStatus); 
    } 
}); 
+0

これを追加すると、値はtextStatus単に "エラー"だった。私はサーバーから200を得ていた。私の場合、問題は、私はfile://からWebページをロードしていて、http://でRESTサービスを呼び出しているということでした。 –

関連する問題