XML ファイルを読み取り、結果を JSON として ajax 呼び出しに送信する汎用ハンドラーがあります。プログラムを実行すると、次のエラーが表示されます。
クライアント側コード:
$(function () {
$('#getData').click(function () {
$.ajax({
type: 'GET',
datatype: 'json',
url: 'DynamicHandler.ashx',
contentType: "application/json; charset=utf-8",
success: function (result) {
var property = JSON.parse(result);
console.log(property);
}
});
});
});
サーバー側コード:(Handler.ashx)
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
var realestate = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("Realestate.xml"));
var query = from items in realestate.Descendants("Property")
select new
{
Name = items.Attribute("Name").Value,
Image = items.Attribute("Image").Value,
Location = items.Attribute("Location").Value,
Rooms = items.Attribute("Rooms").Value,
PropertyValue = items.Attribute("PropertyValue").Value,
Contact = items.Attribute("Contact").Value,
Description = items.Attribute("Description").Value
};
var scriptSerializer = new JavaScriptSerializer();
context.Response.Write(scriptSerializer.Serialize(query));
}
public bool IsReusable
{
get
{
return false;
}
}
}
XML ファイルへのリンク:
[http://omerbuzo.me/Realestate.xml][1]
これをデバッガーで実行すると、Handler.ashx ファイルに次のエラーが表示されます (次の行: select new {anonymous object})。
Object reference not set to an instance of an object.
そしてconsole.logで私は得る:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
誰でも問題と思われるものを指摘できますか?
よろしくお願いします:)