Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅保存上的主干模型返回表单数据_Javascript_Backbone.js_Laravel - Fatal编程技术网

Javascript 仅保存上的主干模型返回表单数据

Javascript 仅保存上的主干模型返回表单数据,javascript,backbone.js,laravel,Javascript,Backbone.js,Laravel,在我正在构建的web应用程序中,我通过API保存模型-成功时,我将模型返回控制台,但是模型仅包含从表单提交的数据,但API保存从提交表单创建的各种其他类型的数据,如何在成功回调中返回完整的模型 这是我的密码 模型保存 saveBasicProject: function(e) { e.preventDefault(); var that = this; console.log("saving basic project"); var projectData

在我正在构建的web应用程序中,我通过API保存模型-成功时,我将模型返回控制台,但是模型仅包含从表单提交的数据,但API保存从提交表单创建的各种其他类型的数据,如何在成功回调中返回完整的模型

这是我的密码

模型保存

saveBasicProject: function(e) {

    e.preventDefault();

    var that = this;

    console.log("saving basic project");

    var projectData = $('.create-new-project').serializeJSON();

    //var projectModel = new app.Project(projectData);

    this.model.save(projectData, {

        success: function(model, response) {
            console.log(model);
            that.response_json = JSON.parse(response);
            that.collection.add(that.model);
        },

        error: function(model, response) {
            var error_json = response.responseJSON;

            $(".create-new-project").before( response.responseJSON.msg );

        }

    });

}, 
API保存

public function save()
{
    $rules = array(
        'name' => 'required',
        'description' => 'required',
        'cost' => 'numeric',
        'start_date' => 'required | date',
        'end_date' => 'required | date'
    );  

    $validation = Validator::make(Input::all(), $rules);

    if($validation->fails()) {
        return Response::json( $validation->messages()->first(), 500);

    } else {

        $project = new Project;

        $project->name = Input::get('name');
        $project->description = Input::get('description');
        $project->total_cost = Input::get('cost');
        $project->start_date = Input::get('start_date');
        $project->finish_date = Input::get('end_date');
        $project->run_number_days = $this->get_days_between_two_dates(Input::get('start_date'), Input::get('end_date'));
        $project->num_days_from_year_start = $this->get_days_between_two_dates("2014-01-01", Input::get('start_date'));
        $project->color = $this->project_rbg_to_project_hex();
        $project->user_id = ResourceServer::getOwnerId();

        if( $project->save() ) {

            return Response::json($project, 200);

        } else {

            return Response::json(array( 'error' => 'Something has gone wrong!' ), 500);

        }

    }

}
归还什么

    child {cid: "c60", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
_changing: false
_events: Object
_pending: false
_previousAttributes: Object attributes: Object cost: "18000" description: "Description" end_date: "2014/01/30" name: "Simon 18" start_date: "2014/01/01"
__proto__: Object changed: Object cid: "c60" collection: child
__proto__: Surrogate
后json

{cost: "23000"
description: "Description"
end_date: "2014/01/30"
name: "Project #23"
start_date: "2014/01/01"}
来自服务器的响应

{
    name: "Project#23",
    description: "Description",
    total_cost: 23000,
    start_date: "2014/01/01",
    finish_date: "2014/01/30",
    run_number_days: 30,
    num_days_from_year_start: 1,
    color: "#757da3",
    user_id: 1,
    updated_at: "2014-08-0510: 14: 15",
    created_at: "2014-08-0510: 14: 15",
    id: 105
}

上面的内容也在数据库中得到更新,但是返回的模型只包含原始请求json。

您需要在成功回调中将响应数据显式设置为model

e、 g


告诉我们。。。你要送什么?你得到了什么回应?关于成功的模型更新了什么?JSON对于所有这3个都是好的。真的吗?这并不是主干网明智地做的事情。i、 e保存模型通常意味着我想要回模型?不同的后端服务可能有不同的行为。不能保证服务器返回模型属性的副本,也不能保证进行了任何更改。您的用例可能很常见,但它是例外而不是规则
Model.save
用于持久化模型的状态,如果您预期服务器会发生更改,则应在成功时更新模型。
that.model.set(that.response_json);