0

jqueryでasp.netmvcを使用しています...コントローラーメソッドに対してjson呼び出しを行ったところ、jsonオブジェクトが返さ[Object object]れます。代わりにjson文字列を取得したいのですが...何か提案があります...

$(document).ready(function() {
        $.getJSON('Materials/GetMaterials', null, function(data) {
            alert(data);
        });
    });

私があげalert(data.d);たのはundefined

  public JsonResult GetMaterials()
    {
        var materials = consRepository.FindAllMaterials().AsQueryable();
        return Json(materials);
    }
4

3 に答える 3

1

答えが見つかりました、

$(document).ready(function() {
        $.getJSON('Materials/GetMaterials', null, function(data) {

        $.each(data , function(index,d) {
            alert(d.Id)
        });

        });
    });
于 2010-05-04T06:58:16.500 に答える
0

alert()の代わりにconsole.logを使用してみてください(+firebugまたはwebinspectorを使用してください)。返されたjsonオブジェクトの構造を展開し、目的のデータにアクセスする方法を決定できます。

于 2010-05-04T06:59:05.707 に答える
0

getJSON は json オブジェクトを返します。それがあなたが望むものでないなら、あなたはそれを使うべきではありません。代わりに $.ajax を使用してコンテンツ タイプを text/plain に設定すると、データを文字列として受け取ることができます。ただし、オブジェクトの代わりに文字列を操作する理由がわかりません。

オプションで、json2 ライブラリの JSON.stringify メソッドを使用して、オブジェクトを文字列に変換できます。

于 2010-05-04T06:45:35.760 に答える