Ajax调用接受json但控制器返回html

时间:2013-03-14 19:48:10

标签: jquery ajax get jsonresult asp.net-mvc-controller

所以,我一直在使用$ .getJson()成功获取数据。在这种情况下,我需要从服务器同步获取数据,因此我使用了:

$.ajax({
    type: "GET",
    async: false,
    url: "/Mapping/MappingExists?id=" + id,
    dataType: "json",
    success: function (data) {
        alert("SUCCESS");
        EnableAll("disableElement");
    },
    error: function () {
        alert("ERROR");
        result = true;
    }
});

控制器是:

[HttpGet]
    public JsonResult MappingExists(int id)
    {
        if (Privileges.HasAccess(User.Identity.Name))
        {
            try
            {
                var map = new Mapping
                {
                    ID = id
                };
                return this.Json("{\"MappingExists\": \"" + map.Exists() + "\"}", JsonRequestBehavior.AllowGet);
            }
            catch (Exception x)
            {
                return this.Json("{\"Message\": \"Unable to Get Mapping.\"}");
            }
        }
        return null;
    }

我在控制器的第一行放了一个断点,但它没有被击中。我在JS控制台中遇到500错误。我认为错误是因为Response Headers返回text / html; charset = utf-8而Request Headers期待application / json,text / javascript, / ; Q = 0.01。

这一点工作,然后突然间它开始抛出500错误。关于如何解决这个问题的任何想法?

0 个答案:

没有答案