jQuery Ajax请求在ASP.NET MVC 4中的移动设备上给出了错误



我正在使用jquery 1.11.1与ASP.NET MVC我要求对我的MVC控制器操作提出$ .ajax请求,并且在桌面上工作正常,但在移动版本上给出了错误

我的jQuery ajax请求如下:

$.ajax({
       method: 'GET',
       url: ajaxurl + 'GetListingByAjax',
       contentType: 'application/json; charset=utf-8',
       data: JSON.stringify({
           pagenumber: pageno,
           currenturl: location.href
       }),
       dataType: 'json',
       success: function (data) {
           if (data.length > 0) {
              $('#LoadMoreListings').show();
              var FullHTML = GetListingHTML(data);
              $('#loading').remove();               
              pageno++;
           }
           else {
              $('#LoadMoreListings').hide();
              $('#loading').text('No more listings to display');
           }
       },
       error: function (a,b,c) {
            alert('Exeception Description : '+c);
       }
   });

我的控制器动作是

public JsonResult GetListingByAjax(int pagenumber, string currenturl = "")
{
    var ListingItemsList = new Listing().GetListingAjax(currenturl, pagenumber, 20, 0);
    return Json(ListingItemsList, JsonRequestBehavior.AllowGet);
}

这在台式机上工作正常,当我在移动设备上运行它时,它给了我内部服务器错误,然后我检查了Chrome模拟器中的响应,然后显示以下错误

该参数字典包含一个无效类型的参数" pagenumber"的null条目'system.int32'for Method'system.web.mvc.jsonresult getListingAjax(int32,system.string.string)

>

然后,我尝试通过更改方法来发布,但移动设备上的错误是相同的,在桌面上,它很好

任何人都可以帮我吗

请帮助我提前

您缺少AJAX URL中的pagenumber参数:

url: ajaxurl + 'GetListingByAjax',

应该像

url: ajaxurl + 'GetListingByAjax/2',

以这种方式,控制器可以使用您告诉它需要的参数pagenumber

最新更新