gpt4 book ai didi

javascript - MVC Get方法在javascript ajax发布后没有命中

转载 作者:行者123 更新时间:2023-11-30 20:36:42 25 4
gpt4 key购买 nike

所以我有这两个有效的 Controller 方法:

[HttpGet]
public ActionResult EditWork(string work)
{
// do the bla bla
return Json(new {Success = true});
}

[HttpPost]
public ActionResult EditWork(WorkObjet work)
{
// Do the bla bla!

var listWork = TempData.Peek("myWorks") as List<WorkObjet>;

// Edit the value of the correct work object.

return Json(new {Success = true});
}

然后他们通过 Javascript 像这样调用:

function EditWork(event, anc) {
event.preventDefault();

var param = anc.attributes["data-id"].nodeValue;

$.ajax({
type: 'GET',
url: @Url.Action("EditWork", "Work"),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: { work: param }
}).done(function (data) {
if (data.Success === true) {
// Update the fields
} else {
console.log("Error:" + param);
}
}).fail(function (xhr) {
console.log(xhr.responseText);
});
}

function SaveEdit(){
var myWork = GetMyWork() // calls the field via jQuery

$.ajax({
type: 'POST',
url: @Url.Action("EditWork", "Work"),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ work: myWork })
}).done(function (data) {
if (data.Success === true) {
// reload the page?
windows.location.reload();
} else {
console.log("Error:" + param);
}
}).fail(function (xhr) {
console.log(xhr.responseText);
});
}

而且它们工作得非常好。因此,让我们执行以下操作:

  1. 点击按钮编辑作品
  2. Controller Get 方法 EditWork 通过断点命中;
  3. 编辑作品,然后保存
  4. Controller Post 方法 EditWork 通过断点命中,工作在列表中更新;
  5. 页面刷新
  6. 点击按钮再次编辑
  7. GET 方法未通过断点命中旧作品 显示在屏幕上。很奇怪。
  8. 编辑作品,然后保存
  9. POST 方法被值命中...

第七步怎么可能?

最佳答案

将此添加到您的 GET 请求中:

cache: false

默认情况下,jQuery 允许浏览器缓存 GET Ajax 请求的结果。看documentation了解更多信息。

关于javascript - MVC Get方法在javascript ajax发布后没有命中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49762012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com