如何使用Javascript从外部网站查询sharepoint列表
我对JavaScript和SharePoint完全陌生。 我想做的是建立一个网站,能够连接SharePoint 2010,并使用JavaScript从中查询数据。我正在创建的网站位于SharePoint外部 我搜索了很多关于这个话题的问题和例子。但所有这些让我困惑,一个非常非常新的程序员。所以,请原谅我,如果你认为我在问一些愚蠢的问题,但这些事情真的让像我这样的新程序员感到困惑。我希望我的问题也能帮助像我这样新鲜的人 我的问题来了: 1) 我应该用什么方法 我发现有很多示例教我如何查询SharePoint列表,例如使用客户端对象模型。这是否适用于我的情况?我想这是为了SharePoint网站编程,对吗?因为根据我看到的示例,没有任何链接到我要查询的SharePoint服务器的URL 或者使用如何使用Javascript从外部网站查询sharepoint列表,javascript,jquery,sql,sharepoint,sharepoint-2010,Javascript,Jquery,Sql,Sharepoint,Sharepoint 2010,我对JavaScript和SharePoint完全陌生。 我想做的是建立一个网站,能够连接SharePoint 2010,并使用JavaScript从中查询数据。我正在创建的网站位于SharePoint外部 我搜索了很多关于这个话题的问题和例子。但所有这些让我困惑,一个非常非常新的程序员。所以,请原谅我,如果你认为我在问一些愚蠢的问题,但这些事情真的让像我这样的新程序员感到困惑。我希望我的问题也能帮助像我这样新鲜的人 我的问题来了: 1) 我应该用什么方法 我发现有很多示例教我如何查询Share
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"))
})