dを示すエラーのスローは未定義です。全文は次のとおりです。JavaScriptランタイムエラー:未定義またはnull参照のプロパティ「長さ」を取得できません。なぜデータが表示されないのかわかりません。データベースには2つのレコードがあります。
これがHTMl、ボタンです
HTML
<h3>Load Data</h3>
<input id="btnLoadData" type="button" value="Load Database" onclick="GetCompanies()" />
<div id="UpdatePanel">
</div>
これがajax呼び出しです
jQueryを使用したAjax呼び出し
function GetCompanies() {
$("#UpdatePanel").html("<div style='text-align:center'>Please Wait</div>")
$.ajax({
type: "POST",
url: "WebForm1.aspx/GetCompanies",
data: "{}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: onSuccess,
error: onError
});
}
function onSuccess(data) {
var tableContent = "<table border='0'>" +
"<tr>" +
"<td>Rank</td>" +
"<td>Company Name</td>" +
"<td>Revenue</td>" +
"<td>Industry</td>" +
"</tr>";
for (var i = 0; i < data.d.length; i++) { //d is undefined
tableContent+=
"<tr>" +
"<td>"+data.d[i].Rank+"</td>" +
"<td>"+data.d[i].CompanyName+"</td>" +
"<td>"+data.d[i].Revenue+"</td>" +
"<td>" + data.d[i].Industry + "</td>" +
"</tr>";
}
tableContent += "</table>";
$("#UpdatePanel").html(tableContent);
}
function onError(data) {
}
バックエンドコード
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public static List<TopCompany> GetCompanies()
{
List<TopCompany> allCompany = new List<TopCompany>();
using (MyDatabaseEntities db = new MyDatabaseEntities())
{
allCompany = db.TopCompanies.ToList();
}
return allCompany;
}
エラーを理解するために必要な支援。
次のステートメントにコメントすることで修正されました
// settings.AutoRedirectMode = RedirectMode.Permanent;
App_Start /RouteConfig.cs内
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加