阅读SharePoint列表并通过JavaScript函数将数据放在HTML文件中

Cod*_*lel 5 javascript sharepoint html5 sharepoint-list

我有一个SharePoint URL,它只是一个包含一些列和行数据的SharePoint列表.

我想从该特定URL读取该信息,并通过JavaScript函数将数据放在HTML文件中.

我根本没有关于JavaScript和HTML5的经验,所以我不知道如何调用这些函数来检索数据.

这就是我到目前为止所做的一切,它根本不起作用:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">
</head>

<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script>
<script language="javascript" type="text/javascript">
    $(document).ready(function() {
      $().SPServices({
        operation: "GetListItems",
        webURL: "http://myURL.aspx",
        async: false,
        listName: "Announcements",
        CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
        completefunc: function (xData, Status) {
          $(xData.responseXML).SPFilterNode("z:row").each(function() {
            var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
            $("#tasksUL").append(liHtml);
          });
        }
      });
    });
</script>
<ul id="tasksUL"/>  
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我尝试打开index.html没有任何反应,所以我不知道如何在我的HTML文件上调用我的函数.另外,我不知道如何在HTML文件中定义SP.ClientContext.

非常感谢提前.

jpu*_*ord 3

SPServices将非常轻松地为您做到这一点。

您将需要使用呼叫。我通常将其封装在我自己的函数中以使代码更漂亮,特别是当我进行大量 AJAX 列表查询时。

基本上,SharePoint 将返回一个丑陋的 XML 文档,其中包含Microsoft 文档定义的所有列表项。您将使用 SPServices 遍历此文档,如下所示:

<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script>
<script language="javascript" type="text/javascript">

$(document).ready(function() {
  $().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "Announcements",
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
    completefunc: function (xData, Status) {
      $(xData.responseXML).SPFilterNode("z:row").each(function() {
        var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
        $("#tasksUL").append(liHtml);
      });
    }
  });
});
</script>
<ul id="tasksUL"/>`
Run Code Online (Sandbox Code Playgroud)

逐行:
<script type="text/javascript" src="filelink/jquery-1.6.1.min.js"></script>
SPServices 需要 JQuery
<script type="text/javascript" src="filelink/jquery.SPServices-0.6.2.min.js"></script>
包括 SPServices
$(document).ready(function() {
“加载 DOM 时,执行此函数”
$().SPServices({
“这是一个 SPServices 函数”
operation: "GetListItems",
“我们正在使用 'GetListItems' Web 服务”
async: false,
“不是异步的,现在就执行”
listName: "Announcements",
“我们'正在使用列表'公告'
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
不要担心这一行
completefunc: function (xData, Status) {
“请求完成时运行此函数。数据作为xData传递,完成状态作为Status传递”
$(xData.responseXML).SPFilterNode("z:row").each(function() {
“获取响应字符串并仅获取” row" XML 节点。对于每个节点,运行此函数..." "
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
创建一个名为 liHtml 的变量,它等于 li 标记和 XML 属性 ows_Title"
$("#tasksUL").append(liHtml);
"将此列表项附加到 ID 为“tasksUL”的元素”