我想弄清楚爲什麼我無法訪問變量theHeaders
以外的函數。我已經試過返回它,然後直接調用函數,我得到了定義的colListItem
。我把它稱爲像這樣:SharePoint列表查詢JavaScript變量訪問問題
alert(onQuerySucceeded());
和alert(onQuerySucceeded(sender, args));
我得到一個未定義的每次。如何在theHeaders
以外的功能訪問?
我不明白的是爲什麼我能得到它在onQuerySucceeded()
功能的警報()消息的工作,但我不能這樣做doucment.write
。我得到一個權限被拒絕的錯誤,如果我嘗試比警戒任何其他行動() 的JavaScript:
var siteUrl = '/sites/dev/';
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
function retrieveListItems()
{
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('myList');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("<Where><IsNotNull><FieldRef Name='Title' /></IsNotNull> </Where>");
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 listItemEnumerator = collListItem.getEnumerator();
var theHeaders = "";
while (listItemEnumerator.moveNext())
{
var oListItem = listItemEnumerator.get_current();
theHeaders = theHeaders + oListItem.get_item('Title');
}
alert(theHeaders);
}
function onQueryFailed(sender, args)
{
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
它適合我。你使用哪種瀏覽器? –
Internet Explorer。你有document.write工作,或者你訪問函數外的變量「theHeaders」? –
是的。我把document.write放在警報的地方,它工作。嘗試放置html標籤並在標籤中顯示標題值。 –