gpt4 book ai didi

javascript - NodeJS 和 Backbone 的 fetch

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:32 24 4
gpt4 key购买 nike

这是我的前端代码(使用fetch)

    var MyModel = Backbone.Model.extend();
var MyCollection = Backbone.Collection.extend({
url: '/questions',
model: MyModel
});
var coll = new MyCollection();
coll.fetch({
error: function (collection, response) {
console.log('error', response);
},
success: function (collection, response) {
console.log('success', response);
}
});

这是我的后端代码(使用app.get)

app.get('/questions', function (request, response) {
console.log('Inside /questions');
response.writeHead(200, {
'Content-Type': 'text/json'
});
response.write('{test:1}');
response.end();
});

问题在于,尽管响应符合预期,但客户端 error 回调被调用。当我删除 response.write('{test:1}'); 行时,将调用 success 回调。关于我可能做错了什么有什么想法吗?

最佳答案

{test:1} 不是有效的 JSON。

{ "测试":"1"}或者{“测试”:1} 但是,请尝试其中之一。

键是JSON中的字符串,JSON中的字符串必须用双引号括起来查看 JSON.org了解更多信息。

要确保您拥有适用于更复杂对象的有效 JSON,只需使用 JSON.stringify():

var obj = { test : 1 };
response.write(JSON.stringify(obj)); //returns "{"test":1}"

此外,correct Content-Type for jsonapplication/json

关于javascript - NodeJS 和 Backbone 的 fetch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8617703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com