我使用YiiBackboneBoilerplate。我想用数据填充模型是这样的:骨干取()发送text/html的请求类型,而不是JSON
--model--
define([
'jquery',
'underscore',
'backbone'
], function($, _, Backbone) {
var EvaluateModel = Backbone.Model.extend({
urlRoot: 'evaluate/process',
defaults: {
title: '',
state: 1
}
});
return EvaluateModel;
});
--in我view--
initialize:function() {
var result = new Evaluate({id:this.id});
result.fetch({
success: function(result, response) {
JSON.stringify(result.model);
}
});
},
- Yii的行动 -
public function actionProcess() {
//I have tryed this
echo json_encode('test');
Yii::app()->end();
//and this
$this->sendResponse(200, CJSON::encode(array('title' => 'test')));
}
我得到的textStatus:parsererror和从服务器返回的结果包含当前页面的html
此外,fetch()应该根据app.js中的初始设置发送POST请求类型,但类型是 GET
--app.js--
// initialize Http object to make backbone work with POST instead of GET
Http.initialize({type:'POST'});
出了什么问题?
>我没有看到任何文件指的Http.initialize是http.js这是在应用程序文件夹\程序\ JS \库\ utils的\ http.js为YiiBackboneBoilerplate http://www.yiiframework.com/wiki/390/yiibackboneboilerplate-project-setup-for-your-yii-backbonejs-applications/ – user2814599
>,只会返回JSON是你打电话mypage.json网址(即它只考虑扩展名)。请详细解释一下 – user2814599
我澄清了JSON调用问题。但是我仍然无法找到解释'Http.initialize'应该做什么的文档:在你链接的页面的任何地方都没有提到它。 –