从jQuery到Sharepoint的页面方法调用

| 我在MS SharePoint 2010的“ 0”文件夹中部署了一个应用程序页面(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
..将带您进入一个文件夹。     

要回复问题请先登录注册