Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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/5/ember.js/4.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
ajax调用中的Ember保存表单_Ajax_Ember.js - Fatal编程技术网

ajax调用中的Ember保存表单

ajax调用中的Ember保存表单,ajax,ember.js,Ajax,Ember.js,我在编辑表单中加载了我所有的信息,当我点击保存按钮时,即使表单中没有任何更改,也会保存所有字段 我只想在对象中返回我在表单中修改的索引及其值。 我完全不知道如何用余烬做到这一点 这是我的密码: App.EnquiryUpdateController = Ember.ObjectController.extend({ id: null, isSaved: false, actions: { save: function() { var enquiry = this.get

我在编辑表单中加载了我所有的信息,当我点击保存按钮时,即使表单中没有任何更改,也会保存所有字段

我只想在对象中返回我在表单中修改的索引及其值。 我完全不知道如何用余烬做到这一点

这是我的密码:

App.EnquiryUpdateController = Ember.ObjectController.extend({
id: null,
isSaved: false,

actions: {
    save: function() {
        var enquiry = this.get('model');
        console.log(enquiry);
        var obj = JSON.parse(JSON.stringify(enquiry));
        obj = this.cleanObject(obj);
        $.ajax({
            url: host + 'mdf/enquiry/' + enquiry.id,
            type: 'POST',
            accepts: 'application/json',
            data: obj
        });
        this.transitionToRoute('enquiry', enquiry)
    }
},
});
我的路线:

App.EnquiryUpdateRoute = Ember.Route.extend({
    model: function() {
        return this.modelFor('enquiry');
    }
});
和我的模板:

<script type="text/x-handlebars" data-template-name="enquiry/update">

    <div class="enquiry-update">
        {{#if isSaved}}
        <div class="saved">Enquiry updated successfully</div>
        {{/if}}
        <div>
            <label>Customer Name</label>
            {{input value=customerName}}
        </div>

        <div>
            <label>Customer Email</label>
            {{input value=customerEmail}}
        </div>

        <div>
            <label>Customer Phone</label>
            {{input value=customerPhone}}
        </div>
        <div>
            <button {{action "save"}}>Save</button>
        </div>
    </div>
</script>
如果我更新了customerName,我只想将它放在我的对象{customerName:toto}中,而不是所有对象中


谢谢

好吧,您要实现的概念是脏属性检查。这意味着您需要保留原始数据的副本,然后将属性标记为脏属性,或者比较属性并仅发送不同的属性。

您的意思是将原始数据保留为余烬数据,并将其与新数据进行比较?妈的,我想过了,但是的,这太可怕了。。你知道还有别的方法吗?Cleaner你在使用余烬数据吗?不是从我的服务器保存查询,我现在只使用它来保存用户的日志。姓名、账户名称等信息。。