タイトルによって、わかりにくいことがわかりますが、私は説明しようとします。私は従業員のデータベース、HTMLページをスクリプトと私のWebアプリケーションのコントローラに接続している。だから、私は私のHTMLページ上のボタンをクリックすると、相対的なJavaScriptスクリプトは私のコントローラに投稿要求を送信します。コントローラはデータベースにアクセスし、IEnumerableをjavacriptファイルに返します。JavaScript側(Web API)のPOST要求によって返されたIEnumerableへのアクセス
[HttpPost]
public IEnumerable<Employee> Post([FromBody] string name)
{
IEnumerable<Employee> query = Enumerable.Empty<Employee>();
if (!String.IsNullOrEmpty(name))
{
query = from e in _db.Employees
where e.Name.Contains(name)
select e;
}
return query;
}
この情報は、スクリプトに渡されます:コントローラがデータベースにないクエリは次のようです。私の問題は、私はクエリから返された単一のオブジェクトにアクセスすることができないということです。私はコードをデバッグし、クエリが私が尋ねた正しい情報を含むオブジェクトのEnumerableを返すことを確認しました。私のスクリプトでは、私はとメンバーにアクセスしようとしました:そう呼び出しはconsole.log(結果[0] .nameの)
$.post("api/employees", { '': insertedText }, function (result) {
console.log(result[0].name);
});
。は返された最初の従業員の名前を表示する必要がありますが、そうではありません。そのような情報に正しくアクセスする方法を理解するのを助けてくれますか?
あなたはAPIレスポンスを提供することができます。
は、次のようにスクリプトを修正してください?ありがとう – MrVoid
'name'の代わりに' Name'プロパティがあると思います。 'Employee'コードとAPIレスポンスを提供できますか? –
これを試すことができます:return query.toList()。 IEnumerableには値がないため、ポインタです。 toListを使用してデータが移入されます。 –