0

我有两个项目的解决方案。首先是Web,其次是其他东西(SecondProject)。在第一个项目(网络)中,我有带有 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

第二个项目也应该是一个 Web 项目,否则处理程序将无法由 ASP.NET 正确托管。一旦第二个项目是 Web 项目,URL

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

应该只引用第二个 Web 项目上处理程序的位置。

然后,您只需要告诉您的处理程序返回 json,ProcessRequest方法:

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

当你从你的 jQuery 中调用它时,你应该将结果返回为 json 并且能够随心所欲地使用它。

于 2013-02-01T23:52:26.517 回答