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