Add Site Column To List in SharePoint using REST API

The example in this topic show how to use REST API to Add Site Column To List in SharePoint

  • function AddSiteColumnToList() {
  •     $.ajax
  •         ({
  •             // _spPageContextInfo.webAbsoluteUrl - will give absolute URL of the site where you are running the code.
  •             // You can replace this with other site URL where you want to apply the function
  •  
  •             // Get Site column schema using REST API. We will use this column schema to add it to list
  •             url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/Fields/getbytitle('Site Coloumn')/SchemaXml",
  •             method: "GET",
  •  
  •             headers:
  •                {
  •                    // Accept header: Specifies the format for response data from the server.
  •                    "Accept": "application/json;odata=verbose"
  •                },
  •             success: OnQuerySuccess,
  •             error: OnQueryFail
  •         });
  • }
  •  
  • function OnQuerySuccess(data, status, xhr) {
  •     // After getting schema, add it to list using below method.
  •  
  •     var dataresults = data.d;
  •     var columnSchema = dataresults.SchemaXml
  •  
  •     $.ajax
  •            ({
  •                url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('List Name')/fields/createfieldasxml",
  •                type: "POST",
  •                data: JSON.stringify({
  •                    "parameters": {
  •                        "__metadata": { "type": "SP.XmlSchemaFieldCreationInformation" },
  •                        "SchemaXml": columnSchema
  •                    }
  •                }),
  •                headers:
  •                {
  •                    // Accept header: Specifies the format for response data from the server.
  •                    "Accept": "application/json;odata=verbose",
  •                    //Content-Type header: Specifies the format of the data that the client is sending to the server
  •                    "Content-Type": "application/json;odata=verbose",
  •                    // X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header
  •                    "X-RequestDigest": $("#__REQUESTDIGEST").val()
  •                },
  •                success: function (data, status, xhr) {
  •                    console.log("Success");
  •                },
  •                error: function (xhr, status, error) {
  •                    console.log("Failed");
  •                }
  •            });
  • } 
  •  
  • function OnQueryFail() {
  •     console.log("Failed");
  • }

Thank you for reading this article. This code was tested in SharePoint 2013


© 2019 Code SharePoint