无法使用javascript检索SPList项



我正试图使用javascript在Sharepoint列表中搜索一个名为"John"的人。查询似乎失败了,因为我收到了一个错误警报:请求失败。一个或多个字段类型安装不正确。转到列表设置页面删除这些字段。未定义

这表明脚本最终会出现在onQueryFailed()-方法中。我找不到CAML有什么问题,而且使用了内部列名。

aspx:中的代码

<script type="text/javascript">
            function MyJavascript() {
            var siteUrl = '/sites/MySite/';
            var clientContext = new SP.ClientContext(siteUrl);
            var oList = clientContext.get_web().get_lists().getByTitle('People');
            var camlQuery = new SP.CamlQuery();
            camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name="'Name'"/>' +
            '<Value Type='Text'>John</Value></Eq></Where></Query></View>');
            this.collListItem = oList.getItems(camlQuery);
            clientContext.load(collListItem);
            clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
        }
        function onQuerySucceeded(sender, args) {
            var listItemInfo = '';
            var listItemEnumerator = collListItem.getEnumerator();
            while (listItemEnumerator.moveNext()) {
                var oListItem = listItemEnumerator.get_current();
                listItemInfo += 'nID: ' + oListItem.get_id() +
                'nName: ' + oListItem.get_item('Name') +
                'nAge: ' + oListItem.get_item('Age');
            }
            alert(listItemInfo.toString());
        }
        function onQueryFailed(sender, args) {
            alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());
        } 
        </script> 

将脚本注册到按钮的.cs中的代码:

SubmitButton.Attributes.Add("onclick", "MyJavascript(); return false;");

有什么想法吗?

尝试将ExecuteOrDelayUntilScriptLoaded(MyJavaScript, "sp.js");直接放在siteUrl变量下面。

相关内容

  • 没有找到相关文章

最新更新