3

Right now I am using this method:

function getWebProperties(id) { var ctx = new SP.ClientContext.get_current(); this.website = ctx.get_web(); this.listCollection = website.get_lists(); this.oList = listCollection.getByTitle('NavStructure'); this.oItem = oList.getItemById(id); ctx.load(oItem, 'Include(Id, DisplayName)'); ctx.executeQueryAsync(Function.createDelegate(this, this.onSuccess), Function.createDelegate(this, this.onFail)); } function onSuccess(sender, args) { alert("Title: " + oItem.get_displayName() + " ID: " + oItem.get_id()); } function onFail(sender, args) { alert('failed to get list. Error:' + args.get_message()); } 

But it keeps erroring out (through the onFail method) with:

failed to get list. Error:Invalid request

I also changed this line:

ctx.load(oItem, 'Include(Id, DisplayName)'); 

to

ctx.load(oItem); 

And it errored out (in the browser. never fired the onFail method) with:

uncaught exception: [Exception... "'Error: The property or field has not been initialized. It has not been requested or the request has not been executed. It may need to be explicitly requested.' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)" location: "JS frame :: resource://firebug_rjs/net/spy.js :: callPageHandler :: line 796" data: no]

Can anyone see what I am doing wrong here?

2 Answers 2

5

Use ctx.load(oItem);

Then get the columns data using oItem.get_item('Title') OR oItem.get_item('ID')

I will try using ctx.load(oItem, 'Include(Id, DisplayName)'); and udpate the results in comments.

Hope this helps.

0
0

With lookup column and no 'Include' declaration.

var oItem =''; function retrieveWebSite() { SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){ var clientContext = new SP.ClientContext.get_current(); this.oWebsite = clientContext.get_web(); clientContext.load(this.oWebsite); var lstObject = oWebsite.get_lists().getByTitle('Listname'); oItem = lstObject.getItemById(5); clientContext.load(oItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); }); } function onQuerySucceeded(sender, args) { var look = oItem.get_item('LookupColumnName').get_lookupValue(); var title = oItem.get_item('Title'); var id = oItem.get_id(); alert("Loook up column value: "+look); alert("Title column: "+title); alert("Id column value: "+id); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); } 

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.