在C# ASP.NET Core 6 MVC中用jQuery AJAX获取后端返回值
如何通过AJAX获取ASP.NET Core后端返回的数据?
场景说明
我已在SQL数据库中编写存储过程,且ASP.NET Core控制器已实现加载数据的Verificar方法,现在需要通过AJAX正确调用该接口并获取返回数据。
后端控制器代码
[HttpPost] public IActionResult Verificar(string correoPropietario) { var verificarCorreo = _PropiedadesData.Verificar(correoPropietario); return Json(verificarCorreo); }
原AJAX代码问题分析
原AJAX代码存在两处关键错误,导致无法正常获取后端数据:
- 仅获取了jQuery DOM对象,未提取输入框的实际值
- 回调方法名错误:
.donde不是jQuery的合法方法,正确应为.done
修正后的AJAX代码
<script> $(function(){ var url = '/Propiedades/Verificar'; // 获取输入框的实际值,而非jQuery对象 var correo = $('#correo').val(); var data = { correoPropietario: correo }; $.post(url, data) .done(function(response) { // 成功获取数据后的处理逻辑,比如打印或渲染页面 console.log('后端返回的数据:', response); // 示例:将返回值显示在页面元素中 // $('#resultado').text(JSON.stringify(response)); }) .fail(function(error) { // 请求失败时的错误处理 console.error('请求出错:', error); }); }); </script>
关键修正点说明
- 获取输入值:使用
.val()方法提取#correo输入框的文本内容,否则传递给后端的是jQuery对象而非实际邮箱字符串 - 正确的回调方法:jQuery的
$.post返回的Deferred对象,使用.done()绑定成功回调,.fail()绑定失败回调,确保请求状态的完整处理 - 数据格式:
data对象的键名correoPropietario需与后端控制器方法的参数名完全一致,保证参数能正确绑定
内容的提问来源于stack exchange,提问作者Paolo fernando Flores Rivera
相关产品推荐
相关产品推荐

