提问人:user9177098 提问时间:1/26/2018 最后编辑:user9177098 更新时间:1/26/2018 访问量:47
控制器未接收 Ajax 值
Ajax value not received by controller
问:
我有这个代码,它被正确地传递给了它的控制器对应物。 但由于某种原因,搜索模型数据只有 null,而 pageNumber 被正确接收 我在某个地方犯了错误吗?
$("#NextResult").click(function () {
var xData= document.getElementById("x1").value;
var yData= document.getElementById("y1").value;
var searchModel = {
xval: xData,
yval: yData,
};
var pageNumber = @Model.Page +1;
$.ajax({
url: "/Work/FilterData",
type: "GET",
data: { 'searchModel': searchModel, 'pageNumber': pageNumber },
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
}).success(function (response) {
$('#datas').html(response)
})
});
控制器就是这样
[HttpGet]
public ActionResult FilterData(WorkSearchModel searchModel,int? pageNumber)
{
编辑:
正如建议的那样,我尝试在不同的项目上同时执行这两个操作(这使得函数不可调用,因此我认为某处存在错误)
$("#NextResult").click(function () {
var xData= document.getElementById("x1").value;
var yData= document.getElementById("y1").value;
var searchModel = {
xval: xData,
yval: yData,
pageNumber = @Model.Page +1
};
$.ajax({
url: "/Work/FilterData",
type: "GET",
data: searchModel,
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
}).success(function (response) {
$('#datas').html(response)
})
});
我也尝试过这样做,但没有任何效果(这现在为 searchmodel 和 pageNumber 都提供了 null 值)
$.ajax({
url: "/Work/FilterData",
type: "GET",
data: JSON.stringify(searchModel, pageNumber),
contentType: "application/json;",
答:
0赞
Mark Redman
1/26/2018
#1
我会将调用从 GET 更改为 POST
0赞
Marcus Höglund
1/26/2018
#2
一种解决方案是在查询字符串中逐个发送参数,如下所示
$("#NextResult").click(function () {
var xData= document.getElementById("x1").value;
var yData= document.getElementById("y1").value;
var pageNumber = @Model.Page +1;
$.ajax({
url: "/Work/FilterData?xval=xData&yval=yData&pageNumber=pageNumber",
type: "GET",
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
}).success(function (response) {
$('#datas').html(response)
})
});
和控制器
[HttpGet]
public ActionResult FilterData(int xval, int yval, int? pageNumber)
评论
var data = { xval: xData, yval: yData, pageNumber: @Model.Page +1 };
data: data,
contentType
'application/json'
WorkSearchModel