【问题标题】:JsonResult method not calling through AJAX callJsonResult 方法不通过 AJAX 调用调用
【发布时间】:2017-08-17 16:35:05
【问题描述】:

json输出链接:http://localhost:50028/Account/

下面是我的 JsonResult 方法:

[HttpGet]
    public JsonResult GetGroupList()
    {
        try
        {
            DataConnection store = new DataConnection();
            DataTable dt = store.GetDataTable("GetGroupList");
            if (dt.Rows.Count > 0)
            {
                var result = new { Success = "true", Message = Common.SerializeDataTable(dt) };
                return Json(result, JsonRequestBehavior.AllowGet);
            }
            else
            {
                var result = new { Success = "false", Message = "There is no item in Group list." };
                return Json(result, JsonRequestBehavior.AllowGet);
            }
        }
        catch (Exception ex)
        {
            Common.InsertErrorLog("AccountController", "GetGroupList()", ex.ToString());
            var result = new { Success = "false", Message = "Internal Error, Exception occured." };
            return Json(result, JsonRequestBehavior.AllowGet);
        }
    }

上述mvc jsonresult方法的输出

{
"Success": "true",
"Message": "[{\"ID\":1,\"TEXT\":\"BANK ACCOUNT\"},{\"ID\":2,\"TEXT\":\"BANK O/D ACCOUNT\"},{\"ID\":3,\"TEXT\":\"CAPITAL ACCOUNT\"},{\"ID\":4,\"TEXT\":\"CASH IN HAND\"},{\"ID\":5,\"TEXT\":\"CURRENT ASSETS\"},{\"ID\":6,\"TEXT\":\"CURRENT LIABILITIES\"},{\"ID\":7,\"TEXT\":\"DIRECT EXPENSES\"},{\"ID\":8,\"TEXT\":\"DIRECT INCOMES\"},{\"ID\":9,\"TEXT\":\"FIXED ASSETS\"},{\"ID\":10,\"TEXT\":\"INDIRECT EXPENSES\"},{\"ID\":11,\"TEXT\":\"INDIRECT INCOME\"},{\"ID\":12,\"TEXT\":\"INVESTMENT\"},{\"ID\":13,\"TEXT\":\"SECURED LOAN\"},{\"ID\":14,\"TEXT\":\"UNSECURED LOAN\"},{\"ID\":15,\"TEXT\":\"PURCHASE ACCOUNTS\"},{\"ID\":16,\"TEXT\":\"SALES ACCOUNT\"},{\"ID\":17,\"TEXT\":\"STOCK IN HAND\"},{\"ID\":18,\"TEXT\":\"SUNDRY CREDITORS\"},{\"ID\":19,\"TEXT\":\"SUNDRY DEBTORS\"},{\"ID\":20,\"TEXT\":\"PROVISIONS\"},{\"ID\":21,\"TEXT\":\"DUTIES AND TAXES\"},{\"ID\":22,\"TEXT\":\"DEPOSIT ACCOUNT\"},{\"ID\":23,\"TEXT\":\"LOANS AND ADVANCES\"},{\"ID\":24,\"TEXT\":\"LOANS LIABILITIES\"},{\"ID\":25,\"TEXT\":\"BANK OCC\"},{\"ID\":26,\"TEXT\":\"BRANCH/DIVISIONS\"},{\"ID\":27,\"TEXT\":\"MISC. EXPENSE (ASSET)\"},{\"ID\":28,\"TEXT\":\"SUSPENSE A/C\"},{\"ID\":29,\"TEXT\":\"RESERVE & SURPLUS\"},{\"ID\":30,\"TEXT\":\"OPENING STOCK\"},{\"ID\":31,\"TEXT\":\"PROFIT & LOSS A/C\"}]"
}

我的ajax调用如下:

$(document).ready(function () {
        $.ajax({
            type: 'GET',
            cache: false,
            url: "http://localhost:50028/Account/GetGroupList",
            //url: "http://api.ispecial.in/Account/GetGroupList/",
            async: true,
            contentType: 'application/json; charset=utf-8',
            dataType: 'Json',
            success: function (response) {
                alert('1');
                //debugger;
                var res = JSON.parse(response).Table;
                console.log(res);
                //alert(response);
                //var res = JSON.parse(response);
                //alert(res);
                //$("#tbGroupList").append("<tr><td>" + data.d[i].ID + "</td><td>" + data.d[i].TEXT + "</td></tr>");
            },
            error: function (response) {
                alert('error');
                console.log(response);
            }
        });
    });

我已经创建了 JsonResult[HttpGet] 方法并通过 ajax 调用我想获得输出,但是我得到了错误。

【问题讨论】:

  • 错误是什么?
  • XML 解析错误:找不到根元素位置:
  • GetGroupList 这个方法在哪里?是mvc还是web api?
  • mvc 6 (JsonResult)
  • 使用数据类型:'json',

标签: jquery ajax asp.net-mvc jsonresult


【解决方案1】:

根据我们在聊天中的讨论,使用下面的代码来解决问题。

$(document).ready(function () {
        $.ajax({
            type: 'GET',
            cache: false,
            url: "http://api.ispecial.in/Account/GetGroupList",
            dataType: 'Json',
            success: function (response) {
                alert('1');
                console.log(response);
            },
            error: function (response) {
                alert('error');
                console.log(response);
            }
        });
});

如果你想从响应中提取消息,那么只需使用response.Message

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多