Jquery 使用ajaxpost编辑数据
我尝试更改表单中的数据,然后保存。不是更改而是添加一条记录 这是我的剧本:Jquery 使用ajaxpost编辑数据,jquery,ajax,Jquery,Ajax,我尝试更改表单中的数据,然后保存。不是更改而是添加一条记录 这是我的剧本: $('#UpdateObject').click(function () { var ObjnameEntered = $("#NameOB")[0].value; var BasenameEntered = $("#selbaseID")[0].value; var idsave = $("#labelobID")[0].value; var kaartX = $("#mapx")[0
$('#UpdateObject').click(function () {
var ObjnameEntered = $("#NameOB")[0].value;
var BasenameEntered = $("#selbaseID")[0].value;
var idsave = $("#labelobID")[0].value;
var kaartX = $("#mapx")[0].value;
var kaartY = $("#mapy")[0].value;
var picture = $("#trainpicname")[0].value;
$.ajax({
url: '/api/Traininglocation/' + idsave +'/',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ TrainLocationName: ObjnameEntered, TrainBaseID: BasenameEntered, TrainXcoord: kaartX, TrainYcoord: kaartY, TrainPicture: picture }),
dataType: 'json',
success: $('#doebam').show()
});
});
控制员:
我使用了put方法,然后在发布我的项目后,我得到了一个405错误
服务器软管上出现错误:
活动代码:4005
事件消息:请求的表单身份验证失败。原因:提供的票证无效。
活动时间:2-12-2013 16:21:56
事件时间(UTC):2-12-2013 15:21:56
事件ID:817A99288076466699D3D2EF795AE478D
事件顺序:2
事件发生率:1
活动详情代码:50201
//放置api/培训位置/5
public HttpResponseMessage PutTrainLocation(int id, TrainLocation trainlocation)
{
if (ModelState.IsValid && id == trainlocation.id_trainlocation)
{
db.TrainLocation.Attach(trainlocation);
db.ObjectStateManager.ChangeObjectState(trainlocation, EntityState.Modified);
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.OK);
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
// POST api/Traininglocation
public HttpResponseMessage PostTrainLocation(TrainLocation trainlocation)
{
if (ModelState.IsValid)
{
db.TrainLocation.AddObject(trainlocation);
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, trainlocation);
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = trainlocation.id_trainlocation }));
return response;
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
谁能帮我?我换了控制器:
从列车位置到列车后位置。
谢谢你的回复
public HttpResponseMessage PostTrainLocation(int id, TrainLocation trainlocation)
{
if (ModelState.IsValid && id == trainlocation.id_trainlocation)
{
db.TrainLocation.Attach(trainlocation);
db.ObjectStateManager.ChangeObjectState(trainlocation, EntityState.Modified);
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.OK);
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
如果它在数据库中添加了一条与javascript无关的记录,那就是您在服务器上处理请求的方式。我会怀疑
idsave
是空的,或者处理/api/Traininglocation/{id}
的任何东西都有错误。