Ajax调用在第二次尝试后返回未定义的数据
本文关键字:返回 未定义 数据 调用 第二次 Ajax | 更新日期: 2023-09-27 18:14:23
我使用MVC3和c#,第一次调用一切正常,但第二次被c# action方法捕获的参数为空。
这是我的代码:
Monitor.SearchAction = function (pageNum) {
var searchUrl = $("#textURL").data("url");
var newPageNum = pageNum;
var searchInput =
{
PageNumber: newPageNum
};
searchInput["FromDate"] = $("#FromDate").val();
searchInput["FromHour"] = $("#FromHour").val();
$.ajax({
url: searchUrl,
data: JSON.stringify(searchInput),
success: function (d, m, x) {
var $listingContainer = $("#listingContainer");
$listingContainer.html(d);
},
async: false,
cache: false,
});
};
这是控制器方法头:
public PartialViewResult Search (DAS.Dashboard.Web.Areas.Monitoring.ViewModels.MonitoringSearchInputModel searchInput)
因此,"searchInput"是一个具有三个属性的模型,第二次调用时接收到的属性为"null"
检查从调用的c#方法返回的部分视图。例如
public PartialViewResult Search (DAS.Dashboard.Web.Areas.Monitoring.ViewModels.MonitoringSearchInputModel searchInput)
如果局部视图具有"FromDate"answers"FromHour"输入字段,并且具有与第一次相同的属性。
我刚发现问题。使用Chrome调试器,我发现第一次发送请求的类型是"POST",第二是"GET"(不知道为什么会发生这种情况)。
但是添加"type:'POST'"以及"contentType: 'application/json';Charset =utf-8'"已修复。