【问题标题】:Can I use jQuery ajax in a SharePoint WebPart without having to worry about the same origin policy?我可以在 SharePoint WebPart 中使用 jQuery ajax 而不必担心同源策略吗?
【发布时间】:2011-02-15 07:34:45
【问题描述】:

我当前的工作项目涉及开发一个将由我们的客户部署的 SharePoint 2007 WebPart。为了提供更好的用户体验,我通过将IFRAMESRC 属性设置为HTTP 处理程序的地址来“模拟”ajax。这些处理程序部署到 12 hive 中的 layouts 目录。

虽然这可行,但我更喜欢使用 jQuery 的 $get() 方法。这会在我的场景中可靠地工作,还是我仍将遵守相同的原产地政策?将 WebPart 部署到 SharePoint 场中的不同位置的情况如何?这种情况下使用$get()会不会有问题?

同源策略会阻止我使用 $get 调用 HTTP 处理程序吗?

【问题讨论】:

    标签: jquery ajax sharepoint web-parts same-origin-policy


    【解决方案1】:

    通过将ashx 处理程序添加到12\TEMPLATE 文件夹,您将处理程序添加到应用程序上的所有站点和子站点。本质上,您有很多副本。
    如果 AJAX 调用是相对于域的,例如相对于/_layouts/foo.ashx,则不受同源策略的影响。
    其他情况下,处理程序安装在固定位置(例如管理中心),将被策略阻止,与所有其他页面相同。

    【讨论】:

    • 谢谢,Kobi,我想知道是否可能是这种情况。我的 AJAX 调用确实是相对的。
    【解决方案2】:

    无论您是在本地运行还是远程运行,浏览器在正常查看模式下都会实现同源策略。域必须匹配。

    【讨论】:

    • 谢谢,亚历克斯。是的,域、端口和协议必须匹配。我真正需要知道的是,如果我使用 $get 调用 HTTP 处理程序,这三件事是否会匹配。
    猜你喜欢
    • 2012-08-22
    • 2011-07-28
    • 2013-10-02
    • 1970-01-01
    • 2014-10-09
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多