gpt4 book ai didi

jQuery $.ajax 将 null 值传递给 MVC Controller

转载 作者:行者123 更新时间:2023-12-01 07:29:10 26 4
gpt4 key购买 nike

我已经被这个问题困扰了很长一段时间。我已遵循类似问题中提供的所有建议,但没有成功。

正如标题所示,我的 Controller 未接收到我的 $.ajax 传递的数据。

jQuery:

var data = {
id: id,
app: app
};


$.ajax({
type: "POST",
url: "/Utility/FetchTransactionLog",
data: JSON.stringify(data),
contentType: "application/json;",
success: function (data) {
if (data) {
h.resultDiv.html(data);
}
else {
h.resultDiv.html("");
alert("No Log Found");
}
}
});

Controller :

//id and app receives null values
public ActionResult FetchTransactionLog(string id,string app) {
UtilityModels util = new UtilityModels(app);
List<ResultModel> result = util.FetchTransactionLog(id);
return View("LogResult", result);
}

Global.asax 中的路由:

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Utility", action = "Index", id=UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
"FetchLog",
"Utility/FetchTransactionLog/{id}/{app}",
new { controller = "Utility", action = "FetchTransactionLog", id = "", app = "" } // Parameter defaults
);

我做错了什么?

更新

按照 Samich 的建议进行以下工作:

$.ajax({
type: "POST",
url: "/Utility/FetchTransactionLog/" + id + "/" + app,
data: "{}",
contentType: "application/json;",
success: function (data) {
if (data) {
h.resultDiv.html(data);
}
else {
h.resultDiv.html("");
alert("No Log Found");
}
}
});

最佳答案

尝试将您的 id 和应用程序附加到您在路由中指定的网址 /Utility/FetchTransactionLog/{id}/{app}

可能是因为您的路由需要查询字符串中的值,但在那里找不到它,因此路由注册提供的默认值

关于jQuery $.ajax 将 null 值传递给 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7483393/

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