そのため、 $.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 エラーがスローされ始めました。これを解決する方法についてのアイデアはありますか?