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"

Ajax调用在第二次尝试后返回未定义的数据

检查从调用的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'"已修复。