我只想通过Ajax将一些Json数据传递给控制器。如下:
$.ajax({
url: "/Ajax/MobileExistToAnotherGenerationUnit",
contentType: 'application/json; charset=utf-8',
dataType: "json",
cache: false,
data: { mobile: mobile_no, generation_unit_id: generation_unit_id},
success: function (response) {
console.log(response);
}
});
但是当我在控制器上调试时,数据为空。我在Controller上的方法是:
public IActionResult MobileExistToAnotherGenerationUnit(String data)
{
//ViewBag.Result = _generationUnitMobileService.MobileExistToAnotherGenerationUnit(mobile,generationUnitId);
return View();
}
我检查了 字符串数据 ,但它为空。我的代码有什么问题?
答案 0 :(得分:0)
如何添加JSON.stringify数据并键入POST。
var data = { mobile: mobile_no, generation_unit_id: generation_unit_id };
data = JSON.stringify(data);
$.ajax({
url: "/Ajax/MobileExistToAnotherGenerationUnit",
contentType: 'application/json; charset=utf-8',
dataType: "json",
type : POST,
cache: false,
data: data,
success: function (response) {
console.log(response);
}
});
答案 1 :(得分:0)
尝试在控制器中使用此方法:
public JsonResult AjaxTest(int id )
{
return Json("test", JsonRequestBehavior.AllowGet);
}
从JavaScript调用:
<script type="text/javascript">
$(document).ready(function () {
var serviceURL = '/YourControllerName/AjaxTest';
$.ajax({
url: serviceURL,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
alert(data);
}
function errorFunc() {
alert('error');
}
});
</script>