如何在 Sharepoint 2010 中使用 HTTP 处理程序发出 jQuery AJAX 请求?
Posted
技术标签:
【中文标题】如何在 Sharepoint 2010 中使用 HTTP 处理程序发出 jQuery AJAX 请求?【英文标题】:How to make jQuery AJAX request with a HTTP Handler in Sharepoint 2010? 【发布时间】:2011-10-19 11:33:44 【问题描述】:我正在开发一个 SP 2010 可视 Web 部件,它需要通过 AJAX 加载一些数据。
我找到了this very helpful article,但我对此有些怀疑。
我有 Visual Web Part 项目,里面有 Visual Web Part 和一些其他文件。文章说我需要创建一个 .ashx 文件来充当 HTTP 处理程序。
这就是我所做的,我在项目的根目录中创建了一个“MyHandler.ashx”并放置了WebHandler
指令。但我不确定Assembly
指令。
然后它说我们需要为处理程序创建一个实现并将其指向它。我相信我的那部分没问题。
然后我需要通过 jQuery 进行实际的客户端调用。这是我不知道该怎么做的部分,因为我不知道正在部署 .ashx 的 url(如果它甚至正在部署......)。
我正在尝试:
$.get('/_layouts/SomeNamespace/MyHandler.ashx', ...)
但它不起作用...再次,不知道处理程序的 url...
我是 Sharepoint 开发的新手,所以请不要苛刻 =)
谢谢!
这是我的处理程序文件的简化版本。
MyHandler.ashx
<%@ WebHandler Language="C#" Class="SomeNamespace.MyHandler" CodeBehind="MyHandler.cs" %>
MyHandler.cs
namespace SomeNamespace
public class MyHandler : IHttpHandler
public bool IsReusable get return false;
public void ProcessRequest(HttpContext context)
context.Response.Write("From the handler at " + DateTime.Now);
// bunch of methods
【问题讨论】:
【参考方案1】:我在项目的根目录下创建了一个“MyHandler.ashx”
您必须将 MyHandler.ashx 部署到 _layouts/SomeNamespace/ 文件夹。在 Visual Studio 解决方案资源管理器中使用 添加 -> SharePoint "_Layouts" 映射文件夹。
【讨论】:
这正是我所缺少的。谢谢!以上是关于如何在 Sharepoint 2010 中使用 HTTP 处理程序发出 jQuery AJAX 请求?的主要内容,如果未能解决你的问题,请参考以下文章
如何向 sharepoint 2010 中托管的 wcf 服务发出经过身份验证的请求?
如何在 SharePoint 2010 中查看/编辑 SQL 表的扩展属性 [重复]
如何从 Sharepoint 2010 用户组中获取自定义列值