我刚开始学习angularjs而且我一直坚持保存记录。我有一个带有文本框的表单,用于输入state,companyId和rate,这些表格预填充了所选记录的数据。当我单击“保存”按钮时,我会收到“POST~ / AppWeb / AppApi / UpdateRecord 404(Not Found)”。我正在使用Oracle数据库。我有以下代码:
的.js:
.factory("Services", function (Api) {
this.saveRecord = function (data) {
if (data.Id > 0) {
return Api.save("AppApi/UpdateRecord", data);
}
};
return this;
})
.controller("ViewSaveController", function ($scope, $routeParams, $location, State, Services) {
Services.getRecord($routeParams.id).success(function (d) {
$scope.model = d;
});
$scope.save = function (controller) {
Services.saveRecord($scope.model).success(function (d, s, h, c) {
//redirect to the list view
});
};
})
ApiControllder.cs:
public WorkRates UpdateRecord()
{
try
{
var q = new DemoQueries();
return q.UpdateRecord();
}
catch (Exception ex)
{
return null;
}
}
PartialQueries.cs:
public WorkRates UpdateRecord(int id, string state, string companyId, string rate)
{
var sql = "update ratestable set state = :state, companyId= :companyId, rate = :rate where id = :id";
var db = Db.Load(sql);
db.AddParameter(":id", id);
db.AddParameter(":state", state);
db.AddParameter(":companyId", companyId);
db.AddParameter(":rate", rate);
db.DoExecute();
var l = db.GetList<WorkRates>().FirstOrDefault();
return l;
}
我不确定为什么会收到此错误消息。任何帮助表示赞赏。
答案 0 :(得分:0)
您收到404错误或未找到错误,因为您的表单正在执行的POST未到达您的网络应用的任何有效端点。基本上,端点“AppWeb / AppApi / UpdateRecord”不存在。
您是否尝试在代码中将“ApexApi / UpdateRecord”替换为“AppApi / UpdateRecord”? 我不是角度方面的专家,但看起来这是路线的问题。这篇文章可能会有所帮助。 http://viralpatel.net/blogs/angularjs-routing-and-views-tutorial-with-example/