我有两个项目的解决方案。首先是Web,其次是其他东西(SecondProject)。 在第一个项目(web)中,我有aspx页面和带有AJAX函数的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
}
}));
}
});
答案 0 :(得分: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返回,并且无论你喜欢什么都可以使用它。