Ich bin auf eine doppelte Lernkurve mit SharePoint 2013 Entwicklung und JavaScript.Sharepoint 2013 Javascript - Get List Felder
Bitte beachten Sie unten.
function GetListFields(listname, viewname, ResultCallBackFunction)
{
var clientContext = new SP.ClientContext.get_current();
var web = clientContext.get_web();
var list = web.get_lists().getByTitle(listname);
if (viewname == "")
{
var view = list.get_views().getByTitle(viewname);
var listFields = view.get_viewFields();
}
else
{
this.listFields = list.get_fields().getByInternalNameOrTitle("Title");
}
clientContext.load(this.listFields);
clientContext.executeQueryAsync(onListFieldsQuerySucceeded, onListFieldsQueryFailed);
function onListFieldsQuerySucceeded()
{
console.log(listFields.get_fields().getByInternalNameOrTitle("Title").get_internalName());
var fldArray = new Array();
var fieldEnumerator = listFields.getEnumerator();
while (fieldEnumerator.moveNext())
{
var oField = fieldEnumerator.get_current();
fldArray.push(oField);
}
ResultCallBackFunction(fldArray);
}
function onListFieldsQueryFailed()
{
alert("Something went wrong. The End is Nigh.");
}
}
Die Absicht ist GetListFields rufen ein Array mit der Liste der Feldnamen zurückzukehren. Dies gibt den Fehler "Kann die Eigenschaft 'get_fields' von undefined oder NULL-Referenz" in der Zeile "console.log ...." nicht erhalten. Bitte beachten Sie, dass dies für mein Debugging ist.
Wenn ich den Code für die Funktion GetListFields ändern wie folgt:
var clientContext = new SP.ClientContext.get_current();
var web = clientContext.get_web();
var list = web.get_lists().getByTitle(listname);
if (viewname == "")
viewname = "All Items";
var view = list.get_views().getByTitle(viewname);
this.listFields = view.get_viewFields();
bekomme ich ein Ergebnis, aber diese enthält ein Feld namens ‚Linktitle‘, die ich in meiner Liste noch nicht vorhanden, weil ich umbenannt Dies. Was vermisse ich?
Zusätzlich zu den oben genannten, habe ich einen Fehler, wenn
this.listFields = ...
indem fixiert mit
var listFields = ...
, die aber nicht verstehen den Unterschied.
Danke für jede Hilfe oder Hinweise.
Danke dafür. Entschuldigung, ich kann den Kommentar nicht abstimmen, aber die Seite meldet Folgendes: –