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