今天我发现了一些奇怪的东西,我有常规的asp.net mvc 4项目没有这样的ajax(只是post,get)。所以今天我需要ajax请求,我在控制器中使用jquery做了一个ajax动作,但是没有成功。这是我的代码
区/管理/控制器/ BannersController
public JsonResult SaveOrder(string model)
{
bool result = false;
if (!string.IsNullOrEmpty(model))
{
var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<int>>(model);
result = repository.SaveOrder(list);
}
return Json(result, JsonRequestBehavior.AllowGet);
}
查看侧(也在区域内)
$(document).ready(function () {
$("#saveOrder").click(function () {
var data = JSON.stringify($("#list_banners").nestable('serialize'));
$.ajax({
url: '@Url.Action("SaveOrder", "Banners", new { area = "Admin" })',
data: { model: data },
success: function (result) {
if (result) {
toastr.success('Kaydedildi.');
}
else {
toastr.error('kaydedilemedi.');
}
},
error: function (e) {
console.log(e);
}
});
});
});
我已经尝试了所有我知道的东西,这是$ .post,$ .get,ajax选项,尝试来自区域外等等。只是请求无法达成行动
答案 0 :(得分:1)
尝试指定你想要发布到服务器的数据格式(json),并改变你在JSON中传递数据对象的方式,如下所示:
var data = $("#list_banners").nestable('serialize');
$.ajax({
url: '@Url.Action("SaveOrder", "Banners", new { area = "Admin" })',
data: JSON.stringify({ model: data }),
dataType: 'json',
contentType: "application/json",
...
答案 1 :(得分:0)
我有同样的问题,但在花了太多时间后,得到了解决方案。如果您的请求转到指定的控制器,请检查您的回复。您的回复中肯定存在一些问题。在我的情况下,响应没有正确转换为JSON,然后我尝试使用select函数从控制器传递一些响应对象的值,并得到我需要的。