页面方法从jQuery调用到Sharepoint
我在MS SharePoint 2010的_LAYOUTS
文件夹中部署了一个应用程序页面(aspx)。
我想在使用jQuery标记[WebMethod]
属性的页面内调用一个方法。 我在document.ready()
上使用以下代码:
$("#btnOk").click(function () { var theUrl = '/_layouts/MyProject/MyPage.aspx/MyMethod'; $.ajax({ type: "get", dataType: "json", url: theUrl, data: {}, success: function (response) { [...] }, error: function (xhr, textStatus, errorThrown) { [...] } }); });
遗憾的是,此代码不起作用。 问题在于URL:事实上,如果我使用这样的绝对URL,它就可以工作
var theUrl = 'http://server/sites/xxx/_layouts/MyProject/MyPage.aspx/MyMethod';
我怎样才能以绝对的方式改变我的道路?
/_layouts/MyProject/MyPage.aspx/MyMethod
在您的示例中等效于:
http://server/_layouts/MyProject/MyPage.aspx/MyMethod
那是你的问题。 以/开头,从根开始。 你应该调整这个。 如果它必须以某种方式动态,因为它可以使用多个位置,您可能需要使用代码隐藏来注入路径或其他东西。 如果始终从静态位置运行,只需修改url即可。
如果你正在运行它的页面是,例如:
http://server/sites/xxx/Somepage.aspx
然后将其更改为
_layouts/MyProject/MyPage.aspx/MyMethod
没有斜线。
如果您在子文件夹中,例如:
http://server/sites/xxx/Pages/Somepage.aspx
然后你可以这样做:
../_layouts/MyProject/MyPage.aspx/MyMethod
..将带你到一个文件夹。