所以,我一直在成功地使用 $.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 错误。关于如何解决这个问题的任何想法?