List 'MyList' does not exist at site with URL
Asked Answered
L

4

7

I am trying to make a query on a SPList but I got an error saying that List doesn't exist. How can I read the current context in the proper way ? Is somehow a deployment issue ?

var clientContext = new SP.ClientContext.get_current();;
var oList = clientContext.get_web().get_lists().getByTitle("MyList");

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name="SearchUserName" /><Value Type="Text">' + loginName + '</Value></Eq></Where></Query></View>');
this.collListItem = oList.getItems(camlQuery);

clientContext.load(collListItem);

clientContext.executeQueryAsync(Function.createDelegate(this, function (sender, args) {
  //do something
}), Function.createDelegate(this, function (sender, args) {
  //log error
}));

I get the error: List 'MyList' does not exist at site with URL '.... site path'

What am I doing wrong? Is there another way of reading the current context?

Lenhard answered 30/4, 2013 at 13:2 Comment(0)
C
8

You could have run into a simple problem which tripped me up:

When you use getByTitle() you need to use the List's display name,

Is your list display name "MyList" or might it be "My List"?

  • The List 'Title' = List Display Name (Often has spaces)
  • The List 'Name' = List Internal Name (usually no spaces or special characters)

To find the display name look at what the list is called in the "Site Contents" page.

To find the internal name, look at the URL when you hover over (or click) the List name in "Site Contents".

Try get_web().get_lists().getByTitle("My List");

Chita answered 21/3, 2017 at 5:27 Comment(0)
S
4

Remember SharePoint considers each subsite a seperate site. If your code runs on the root of your SharePoint site, but the lists resides in a subsite, your code will not work. You would then need to specify the site when setting your client context.

Sarisarid answered 30/8, 2013 at 16:53 Comment(0)
R
1

Are you sure that get_current is actually returning the correct context?

It might be safer to specify the context.

Also, you could use the lists ID instead of the name then get by ID instead.

Rosie answered 30/8, 2013 at 16:12 Comment(0)
D
0

After I ran into the same problem, I realized my mistake was the following : I was running Sharepoint's workbench with the root URL of my domain

So I was running workbench with URL

https://mydomainname.sharepoint.com/_layouts/15/workbench.aspx

While I should have used

https://mydomainname.sharepoint.com/sites/myfirstsite/_layouts/15/workbench.aspx
District answered 17/2, 2022 at 12:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.