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”记录到控制台,并且我的甜甜圈现在将具有属性年龄、id 和名称。

4

2 回答 2

3

发生这种情况是因为您的响应不是有效的 JSON 字符串。

尝试将此作为响应发送:

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

您的 JSON 无效,请参阅http://json.org/,键名必须是字符串,值必须遵守某些规则。

字符串是零个或多个 Unicode 字符的序列,用双引号括起来,使用反斜杠转义

值可以是双引号中的字符串、数字、true 或 false 或 null,也可以是对象或数组。这些结构可以嵌套。

尝试发送{"id": 42, "name": "bob", "age": 12}

于 2012-10-10T10:50:42.787 回答