【问题标题】:json object is not displaying on ajax requst in .net mvc.net mvc 中的 ajax 请求上未显示 json 对象
【发布时间】:2017-05-07 16:24:43
【问题描述】:

我正在向控制器发送 ajax 请求以获取一些数据。可能它正在工作。但我不能在我的项目中使用它?不知道为什么?意味着当我尝试提醒或使用此数据时它不显示。甚至不给我错误消息。

也许这个 AJAX 会破坏我对 .NET 的兴趣。

控制器类/方法=>

[HttpPost]
public JsonResult Getdata(string batchcode)
{
   var studentid = (from a in db.Studentassignbatches
                    where a.batch_code == batchcode
                    select new { a.UserId });
   return Json(studentid,JsonRequestBehavior.AllowGet);
}

我的视图代码和 AJAX =>

<script type="text/javascript">
function ShowBatchCode() {
    var batchcode = $('#BatchList').val();
    $.ajax({
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json',
        url: '@Url.Action("Getdata", "Batche")',
        data: JSON.stringify({ batchcode: batchcode }),
        success: function (data) {
            var result = JSON.parse(data);
            result.forEach(function (obj) {
                alert(obj.UserId);
            });
        },
        error: function (result) {
            alert('Something Went Wrong!');
        }
   });
}
</script>

和 HTML=>

<select onchange="ShowBatchCode()" id="BatchList" class="form-control input-lg">
   <option class="pull-left" value="CCNA Security-1">CCNA Security-1</option>
   <option class="pull-left" value="CCNA Security-2">CCNA Security-2</option>
   <option class="pull-left" value="JNCSP-SEC-1">JNCSP-SEC-1</option>
   <option class="pull-left" value="Oracle Database 12c-1">Oracle Database 12c-1</option>
</select>

和数据库=>

和我的浏览器检查结果=>

在这里你可以看到 ID 来了,但为什么我不能使用它...... 任何建议或帮助????

【问题讨论】:

  • 你能在ajax成功回调中做console.log(data)吗?
  • 让我试试.....
  • 你为什么使用JSON.parse(data)?我认为数据已经是一个 JSON 对象。在成功回调中尝试alert(data.UserId)
  • alert(data.UserId) 说未定义!
  • 您已经拥有 JSON 对象。所以只需使用数据。检查我的答案

标签: javascript jquery json ajax asp.net-mvc


【解决方案1】:

不需要JSON解析,因为它已经是JSON对象了

<script type="text/javascript">
function ShowBatchCode() {
    var batchcode = $('#BatchList').val();
    $.ajax({
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json',
        url: '@Url.Action("Getdata", "Batche")',
        data: JSON.stringify({ batchcode: batchcode }),
        success: function (data) {
            data.forEach(function (obj) {
                alert(obj.UserId);
            });
        },
        error: function (result) {
            alert('Something Went Wrong!');
        }
   });
}
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 2018-07-10
    • 1970-01-01
    • 2018-11-18
    • 2018-07-09
    相关资源
    最近更新 更多