0

ここにデータをプルするためにActionMethodsに投稿することについて私が見逃していることは何ですか?

アクションメソッドに対して単純なjavascript/jquery呼び出しを行う必要があります。これにより、ドロップダウンメニューにIQueryable(またはList)タイプのJsonオブジェクトからのデータが入力されます。

だから私は2つのオプションを試しました:

    function populateuUsers(id) {
    $.post("/User/GetUsersJson/", { id: id }, function (data) {
        if ($.isEmptyObject(data)) {
            alert("Empty");

        }

        $.each(data, function (item) {
            alert(item);
            $("#user-list").append(
                $("<option></option>").text(data[item].FullName).val(data[item].Id)
                );
        });

    }, "json");
}

「データが未定義です」というエラーが表示されます

それから私は試しました:

    function populateUsers(id) {
    $.ajax({
        type: 'post',
        datatype: 'json',
        url: "/User/GetUsersJson/" + id,
        success: function (data) {
            alert(data);
            $.each(data, function (item) {
                alert(item);
                $("#users-list").append(
                    $("<option></option>").text(data[item].FullName).val(data[item].Id));

            });
        },
        error:function()
            {
                alert(data);
            }

    });
}

どちらも動作しません。注意点...ブレークポイントを設定し、GetUsersJsonアクションメソッドのユーザーコントローラーのデータが適切に入力され、javascript関数に返されることを確認しました。

なぜそれが機能しないのですか?「データが未定義」で、何も返されないように動作するのはなぜですか?

前もって感謝します。

4

1 に答える 1

0

に渡す無名関数の内部では$.eachdataが定義されていません。代わりに、その関数に2つの変数を渡す必要があります。何かのようなもの:

$.each(data, function (key, item) {
    alert(item);
    $("#users-list").append(
        $("<option></option>").text(item.FullName).val(item.Id));

});

http://api.jquery.com/jQuery.each/

于 2012-05-04T20:06:22.657 に答える