Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/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
Javascript 通过AJAX将数据保存到服务器不起作用_Javascript_Jquery_Json_Ajax_Knockout.js - Fatal编程技术网

Javascript 通过AJAX将数据保存到服务器不起作用

Javascript 通过AJAX将数据保存到服务器不起作用,javascript,jquery,json,ajax,knockout.js,Javascript,Jquery,Json,Ajax,Knockout.js,敲除时我的保存功能有一些问题。我一直在关注淘汰赛网站上的教程。当我将代码实现到我的站点时,我得到一个错误,一个错误400错误请求,声明我的JSON数据无效。经过进一步调试,我发现它返回的是[object,object],而不是我修改过的JSON数据 为了提供一点上下文,我基本上有一个包含数据列表的表,每行都有编辑按钮。单击编辑按钮后,将打开一个模式并显示所选项目的数据。当我尝试修改然后保存数据时,会出现此问题 这是我到目前为止的javascript代码,有人知道我遗漏了什么吗 <scrip

敲除时我的保存功能有一些问题。我一直在关注淘汰赛网站上的教程。当我将代码实现到我的站点时,我得到一个错误,一个错误400错误请求,声明我的JSON数据无效。经过进一步调试,我发现它返回的是[object,object],而不是我修改过的JSON数据

为了提供一点上下文,我基本上有一个包含数据列表的表,每行都有编辑按钮。单击编辑按钮后,将打开一个模式并显示所选项目的数据。当我尝试修改然后保存数据时,会出现此问题

这是我到目前为止的javascript代码,有人知道我遗漏了什么吗

<script type="text/javascript">
function EmployeeModal() {
     var self = this;
     self.Employees = ko.observableArray([]);

    //Start of select/edit functions
    //This codes allows to pass selected data to the hidden modal
     self.currentEmployee = ko.observable(null);
     self.showEmployee = function(vm){
         self.currentEmployee(vm);
         $('#myModal').modal('show');
     };
     //END of select/edit functions
     //Start of the save function
     self.save = function() {
        var New_Incident_URL = '../../../../_vti_bin/listData.svc/GDI_PROD_Incidents';
        var UPDATE_Incident_URL = '../../../../_vti_bin/listData.svc/GDI_PROD_Incidents('+ encodeURIComponent($('#Incident_ID').val())+')';
        var createIncidentUrl = $('#Incident_ID').val() != '' ? UPDATE_Incident_URL : New_Incident_URL;

        var CREATE_Headers = {"accept": "application/json;odata=verbose"};
        var UPDATE_Headers = {"accept" : "application/json;odata=verbose","X-HTTP-Method":"MERGE","If-Match":"*"};
        var headertype = $('#Incident_ID').val() != '' ? UPDATE_Headers : CREATE_Headers;   

        $.ajax(createIncidentUrl, {
            data: {
                json: ko.toJSON({

                        Description: this.Description,

                        Incident: this.Incident

                })
            },
            type: "POST",
            processData: false,
            contentType: "application/json;odata=verbose",
            headers: headertype,
            success: function(result) {
                alert(ko.toJSON(result));
                $('#myModal').modal('hide');
            }
        });
     };


     //Start - Go get data from Sharepoint.
    $.getJSON("../../../../_vti_bin/listData.svc/GDI_PROD_Incidents?$filter=ÉtatValue%20ne%20%27Fermé%27&$orderby=PrioritéValue desc",
        function (data) {
        if (data.d.results) {
            self.Employees(ko.toJS(data.d.results));
            }
        }
    );  
    //END - Go get data from Sharepoint.

}
     $(document).ready(function () {
         ko.applyBindings(new EmployeeModal());
     });

</script>

你能用一句话解释一下数据模型中对象之间的关系吗?据我所见,有一个“事件列表”,其中包含多个“事件”对象,每个对象都包含一个“雇员”对象。是这样吗?(我打算直接设置viewmodel布局,因为它现在非常复杂。)嗨,Tomalak,我有一个包含多个“事件”对象的“事件列表”。我编辑了这篇主要文章,添加了一个示例,说明如果这有帮助的话,我的服务器数据会是什么样子。我基于一个包含员工的示例代码,但我的数据实际上只包含事件。我需要清理一下,但只是想在我开始弄乱它之前让它工作起来。看看这把小提琴:-我本可以创建一个正确的答案,指出所有更改的考虑因素,但我今天没有时间。托玛拉克,非常感谢你,我一直在仔细研究代码,它是可靠的。再次感谢!问题很难回答,您使用了.get方法来获取我的数据,但默认情况下不会返回jason。有没有一种方法可以在.get中包含标题以返回我需要的内容?
   [{
        ID: "123",
        Description: "The server x is unavailable",
        Incident: "1234"
    }, {
        ID: "124",
        Description: "The router located downtown is down",
        Incident: "12345"
    }, {
        ID: "125",
        Description: "Fiber optic cable downtown is flapping",
        Incident: "123456"
    }, {
        ID: "126",
        Description: "Network unvailable at the beaver site",
        Incident: "1234567",
    }];