【发布时间】:2016-12-10 18:03:26
【问题描述】:
今天我发现了一些奇怪的东西,我有没有这样的 ajax 的常规 asp.net mvc 4 项目(只是发布,获取)。所以今天我需要ajax请求,我在控制器中用jquery做了一个ajax操作,但没有成功。这是我的代码
区域/管理员/控制器/横幅控制器
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 选项、尝试来自区域外的请求等。只是请求无法执行
【问题讨论】:
-
尝试告诉 ajax 期望什么数据类型,
datatype: 'json/application', type: 'GET', -
相同的结果,没有任何改变
-
@user2107255 您是否尝试先使用浏览器直接点击该网址,至少要确保您的路线清晰......而且您的操作是 GET 操作对吗?
-
尝试发送一个简单的字符串,意思是
data: { model: "Hello World" },,看看它是否正确调用了控制器。我感觉问题在于data的字符串化(?) -
我个人更幸运。使用@Jose 推荐的内容,但将 post 改为并将 [HttpPost] 添加到您的控制器
标签: asp.net-mvc asp.net-mvc-4 jquery asp.net-mvc-areas