Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax调用接受json,但控制器返回html_Jquery_Ajax_Get_Jsonresult_Asp.net Mvc Controller - Fatal编程技术网

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

Jquery Ajax调用接受json,但控制器返回html,jquery,ajax,get,jsonresult,asp.net-mvc-controller,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("disableEle

因此,我一直在成功地使用$.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错误。我认为抛出错误是因为响应头返回text/html;charset=utf-8,而请求头需要application/json、text/javascript、/;q=0.01


这是一个工作点,然后突然它开始抛出500错误。关于如何解决这个问题有什么想法吗?

服务器的主体是什么?这可能与实际的服务器端错误有关。这是服务器端问题。直接转到url显示错误是由发送给控制器的下拉列表中的一个值引起的,该值是字符串,控制器需要一个整数。你的帖子把我弄糊涂了。一方面,标题暗示你得到了错误的数据,另一方面,你的身体暗示动作方法从未被击中。是的,动作从未被击中。我不知道为什么它告诉我响应头返回了一些东西。我认为它返回html是因为它返回了一个错误。