0

私は2つのプロジェクトで解決策を持っています。1 つ目は Web、2 つ目は別のもの (SecondProject) です。最初のプロジェクト (web) には、2 番目のプロジェクトにある参照ハンドラーを必要とする AJAX 関数を含む aspx ページと jquery スクリプトがあります。どうやってするか?コード例:

                $.ajax({
                    type: "POST",
                    url: '<%= ResolveUrl("HandlerInSecondProject/GetDataBySample.ashx?q=' + request.term + '") %>',
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        var obj = data;
                        response($.map(obj, function (item) {
                            return {
                                label: item.Term,
                                id: item.ID
                            }
                        }));
                    }
                });
4

1 に答える 1

0

2 番目のプロジェクトも Web プロジェクトである必要があります。そうしないと、ハンドラーが ASP.NET によって適切にホストされません。2 番目のプロジェクトが Web プロジェクトになると、URL

url: '<%= ResolveUrl("HandlerInSecondProject/GetDataBySample.ashx?q=' + request.term + '") %>',

2 番目の Web プロジェクトのハンドラーの場所を参照する必要があります。

次に、ProcessRequestメソッドである json を返すようにハンドラーに指示する必要があります。

context.Response.Write(
    jsonSerializer.Serialize(
        new
        {
            Term = "My Term",
            ID = 22
        }
    )
);

これを jQuery から呼び出すと、結果が json として返され、好きなように処理できるようになります。

于 2013-02-01T23:52:26.517 に答える