在Asp.net MVC 4中,jQuery Ajax请求在移动设备上发生错误
我正在使用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模拟器中检查了响应,然后显示以下错误
参数字典为方法System.Web.Mvc.JsonResult GetListingAjax(Int32,System.String)包含非空的类型'System.Int32'的参数'pagenumber'的空条目。
然后我通过更改方法GET尝试POST,但移动设备上的错误与桌面上的错误相同
任何人都可以帮助我,请我做一些错误的方式,或者我需要在此代码中添加任何额外的东西以便在移动设备上运行
请提前帮助我
您在ajax网址中缺少pagenumber
参数:
url: ajaxurl + 'GetListingByAjax',
应该是这样的
url: ajaxurl + 'GetListingByAjax/2',
通过这种方式,控制器可以使用您告诉它需要的参数pagenumber
。
上一篇: jQuery Ajax Request is Giving Error on Mobile in Asp.net MVC 4