1

パラメータを webmethod に渡したいのですが、アクションがありません。メソッドからパラメーターを削除し、ajax リクエストのプロトタイプを作成しましたが、すべて問題ありませんが、パラメーターを使用したい場合は機能しません。これが私のコードです:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js"></script>
<script>

    var xRequest = new Ajax.Request('PrototypeTest.aspx/Test', {
        method: 'post',
        parameters: { "id": 'asdf' },
        contentType: 'application/json; charset=utf-8',
        onSuccess: function (val) {
            var brands = val.responseText.evalJSON().d.evalJSON();
            brands.each(function (brand) {
                alert(brand.Name);
            });
        },
        onerror: function (val) {
            debugger;
            alert('hata');

        }
    });
</script>

 [WebMethod]
    public static string Test(string id)
    {
        List<brand> brands = new List<brand>();
        brands.Add(new brand()
            {
                Name = "BMW",
                IsActive = true
            });

        var json = new JavaScriptSerializer();
        return json.Serialize(brands);
    }

私の間違いはどこですか?

4

1 に答える 1

1

それが正しい方法かどうかはわかりませんが、私の問題は解決しました:

 Ajax.Request('PrototypeTest.aspx/Test?prod=1', {`...

パラメータをクエリ文字列として渡しました。

于 2013-07-25T10:15:10.880 に答える