0

'/donut'のリクエストハンドラ

class DonutHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write("{id: 42, name: 'bob', age: 12}")

Javascript:

var Donut = Backbone.Model.extend({
    url: '/donut',
    urlRoot: '/donut'
});

donut = new Donut()

donut.fetch({success: function() {
                      console.log('ok');
             },
             error: function(collection, response) {
                      console.log('error on -> ' + response.responseText);
             }
 });

error on -> {id: 42, name: 'bob', age: 12}

代わりに、「ok」がコンソールに記録され、ドーナツの属性がage、id、nameになると予想していました。

4

2 に答える 2

3

これは、応答が有効なJSON文字列ではないために発生します。

これを応答として送信してみてください。

"{\"id\": \"42\", \"name\": \"bob\", \"age\": \"12\"}"
于 2012-10-10T10:49:12.837 に答える
1

JSONが無効です。http://json.org/を参照してください。キー名は文字列である必要があり、値は特定のルールに準拠している必要があります。

文字列は、バックスラッシュエスケープを使用して、二重引用符で囲まれた0個以上のUnicode文字のシーケンスです。

値は、二重引用符で囲まれた文字列、数値、trueまたはfalseまたはnull、またはオブジェクトまたは配列にすることができます。これらの構造はネストできます。

送信してみてください{"id": 42, "name": "bob", "age": 12}

于 2012-10-10T10:50:42.787 に答える