如何使用Javascript从外部网站查询sharepoint列表

如何使用Javascript从外部网站查询sharepoint列表,javascript,jquery,sql,sharepoint,sharepoint-2010,Javascript,Jquery,Sql,Sharepoint,Sharepoint 2010,我对JavaScript和SharePoint完全陌生。 我想做的是建立一个网站,能够连接SharePoint 2010,并使用JavaScript从中查询数据。我正在创建的网站位于SharePoint外部 我搜索了很多关于这个话题的问题和例子。但所有这些让我困惑,一个非常非常新的程序员。所以,请原谅我,如果你认为我在问一些愚蠢的问题,但这些事情真的让像我这样的新程序员感到困惑。我希望我的问题也能帮助像我这样新鲜的人 我的问题来了: 1) 我应该用什么方法 我发现有很多示例教我如何查询Share

我对JavaScript和SharePoint完全陌生。 我想做的是建立一个网站,能够连接SharePoint 2010,并使用JavaScript从中查询数据。我正在创建的网站位于SharePoint外部

我搜索了很多关于这个话题的问题和例子。但所有这些让我困惑,一个非常非常新的程序员。所以,请原谅我,如果你认为我在问一些愚蠢的问题,但这些事情真的让像我这样的新程序员感到困惑。我希望我的问题也能帮助像我这样新鲜的人

我的问题来了:

1) 我应该用什么方法

我发现有很多示例教我如何查询SharePoint列表,例如使用客户端对象模型。这是否适用于我的情况?我想这是为了SharePoint网站编程,对吗?因为根据我看到的示例,没有任何链接到我要查询的SharePoint服务器的URL

或者使用
xmlhttp.open(“POST”,“http://[mysharepoint服务器]/\u vti\u bin/search.asmx”,true).

2) SharePoint服务器及其列表的正确URL是什么

根据我的理解,在我的代码中,我应该首先链接到正确的SharePoint(或特定列表)。所以应该有一个SP的URL。我不认为打开SharePoint列表并复制粘贴地址是正确的。如何获取正确的URL以及如何更改它(如在URL末尾添加_vti_bin/search.asmx)

3) 正确的查询格式是什么

当我试图纠正自己的疑问时。太多不同格式的查询示例让我很困惑

    soapEnvelope = "<?xml version=\"1.0\"?> \
        <soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" \
...
soapEnvelope=”\

有一个为Sharepoint 2010创建的开源库,代码为Camelot。您可以在此处找到更多信息:

这是上面链接中的代码示例:

脚本:

// Build the command
var command =   {
        Type: "SELECT",
        List: "Tasks"
}

var result;

// Send the command using JQUERY
$.ajax({
    type: "GET",
    contentType: "application/json",
    data: { command: JSON.stringify(command)},
    url: "/_vti_bin/Camelot.JSONAPI/jsonapi.svc/Items",
    success: function (data) {
        // Decode and store the result in a variable
        result = $.parseJSON(data.d);
        console.log("Successfully executed the command, please check the 'result' variable.");
    },
    error: function (xhr, textStatus, errorThrown) {
        console.log(errorThrown);
    }
});

您可能想查看或查看我创建的库:

我认为SharepointPlus非常易于使用。例如,如果您想查询列表以获取数据,您可以执行以下操作:

$SP().list("Name of your list").get({fields:"First_x0020_Field,OtherField", where:"OtherField = 'something'"}, function(data) {
  for (var i=data.length; i--;) console.log(data[i].getAttribute("First_x0020_Field"))
})

查看SharepointPlus网站,它有很多例子。我想这正是你想要的:-)

一个简单的解决方法是广泛使用sharepoint的RSS功能,然后使用YQL的RSS模块将提要数据转换成javascript,在javascript中,mustache等可以使页面变得漂亮。如果你像你说的那样新,我建议开始做一些更简单的事情。这是我必须完成的任务…我真的想知道如何链接到或连接到我的sharepoint。我想这项工作应该有一行或两行代码。我有太多的想法,我只想要一个简单的真正有效的想法。你能帮我一下吗!非常感谢!我想知道如何链接到我的sharepointe SharePoint与我的在线工作网站。我如何定义SP(),并将其指向我自己的SP服务器。您能否向我展示更多信息!网站()上解释了所有内容。请阅读:-)
$SP().list("Name of your list").get({fields:"First_x0020_Field,OtherField", where:"OtherField = 'something'"}, function(data) {
  for (var i=data.length; i--;) console.log(data[i].getAttribute("First_x0020_Field"))
})