gpt4 book ai didi

django - Backbone.js 发布 500 错误

转载 作者:行者123 更新时间:2023-12-04 06:01:13 25 4
gpt4 key购买 nike

有谁知道如何将 Post 的 ContentType 指定为 json/application? 我以为我是,而主干默认情况下是这样做的,但从它说它正在获取纯文本(见评论)这一事实来看,我想我需要找出另一种方式来指定它。

我正在使用 Backbone.js 并且我正在尝试向不再只读的 TastyPie API 发送 POST 请求,并且当我尝试创建模型并对其进行 .save() 时收到 500 错误。这是我在此处找到的用于同步的代码片段:
http://documentcloud.github.com/backbone/docs/backbone.html#section-124

   Backbone.sync = function(method, model, options){
var type = methodMap[method];
var params = _.extend({
type: type,
dataType: 'json'
}, options);

if (!params.url){
params.url = getUrl(model) || urlError();
}

if (Backbone.emulateJSON){
params.contentType = 'application/json';
params.data = params.data ? {model: params.data} : {};
}

if (Backbone.emulateHTTP){
if(type === 'PUT' || type === 'DELETE'){
if (Backbone.emulateJSON) params.data._method = type;
params.type = 'POST';
params.beforeSend = function (xhr){
xhr.setRequestHeader('X-HTTP-Method-Override', type);
};
}
}

if (params.type !== 'GET' && ! Backbone.emulateJSON){
params.prorcessData = false;
}

return $.ajax(params);
};





$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};

$(function() {
$('form').submit(function() {
var dict = $('form').serializeObject();
var new_task = new Backbone.Model({
date: toString(dict.date),
name: toString(dict.name),
priority: toString(dict.priority)});
console.log("new_task =" + new_task);
new_task.save();
console.log(dict);

return false;
});

});


});

最佳答案

尝试设置 Backbone.emulateJSON = true;在你的代码中。

如果设置为 true,则设置 contentType到'application/json',这就是你要找的。

你只需要设置一次这个变量,所以一个好地方就在你的表单提交代码的正上方

$(function() {
Backbone.emulateJSON = true;
$('form').submit(function() {
...

关于django - Backbone.js 发布 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869312/

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