簡體   English   中英

ASP.NET MVC中的JSON未定義錯誤

[英]JSON Undefined Error in ASP.NET MVC

我有這個JS功能:

    <script type="text/javascript">
    $(function ShowBMI() {
        $.getJSON('/BMICalculations/ShowBMI', function (data) {
            alert(data.CalculatedBMIResult);
        });
    });

在我的BMICalculations控制器中,我有以下方法:

 public JsonResult ShowBMI(){
        BMICalculation BMI = new BMICalculation();
        var data = Json(new
        {
            CalculatedBMIResult = 6
        });
        return Json(data, JsonRequestBehavior.AllowGet);
    }

我使用提交按鈕的Onclick事件調用JS函數。 JS警報顯示“未定義”。 我的Chrome控制台說ShowBMI()是未定義的,但是怎么可能呢? 既然在我的控制器中定義正確了?

Json方法返回JsonResult對象,而不是轉換后的JSON。

因此,您最終將數據包裝到JsonResult並將包裝器對象(而不是原始數據)發送到客戶端。

為了解決這個問題,您只需要在創建data時刪除第一個Json調用即可:

public JsonResult ShowBMI()
{
    BMICalculation BMI = new BMICalculation();
    var data = new
    {
        CalculatedBMIResult = 6
    };
    return Json(data, JsonRequestBehavior.AllowGet);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM