當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript SPHttpClient.post方法代碼示例

本文整理匯總了TypeScript中@microsoft/sp-http.SPHttpClient.post方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript SPHttpClient.post方法的具體用法?TypeScript SPHttpClient.post怎麽用?TypeScript SPHttpClient.post使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@microsoft/sp-http.SPHttpClient的用法示例。


在下文中一共展示了SPHttpClient.post方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: encodeURIComponent

 return new Promise<any>((resolve, reject) => {
     const httpClientOptions: ISPHttpClientOptions = {
         headers: {
         'Accept': 'application/json;odata=verbose',
         'Content-type': 'application/json;odata=verbose',
         'X-SP-REQUESTRESOURCES': 'listUrl=' + encodeURIComponent(listUrl),
         'odata-version': '',
         },
     };
     const endpoint = `${webUrl}/_api/web/GetList(@listUrl)/RenderExtendedListFormData`
                      + `(itemId=${itemId},formId='editform',mode='2',options=7)`
                      + `?@listUrl=${encodeURIComponent('\'' + listUrl + '\'')}`;
     this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, httpClientOptions)
         .then((response: SPHttpClientResponse) => {
             if (response.ok) {
                 return response.json();
             } else {
                 reject( this.getErrorMessage(webUrl, response) );
             }
         })
         .then((data) => {
             const extendedData = JSON.parse(data.d.RenderExtendedListFormData);
             if (formType !== ControlMode.Display) {
                 resolve(extendedData.ListData);
             } else {
                 resolve(extendedData.Data.Row[0]);
             }
         })
         .catch((error) => {
             reject( this.getErrorMessage(webUrl, error) );
         });
 });
開發者ID:,項目名稱:,代碼行數:32,代碼來源:

示例2:

		return new Promise<any>((resolve,reject) => {
			let endpoint = Text.format("{0}/_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser", webUrl);
			let data:any = {
                queryParams:{
                    __metadata:{
                        'type':'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters'
                    },
					QueryString: query,
                    PrincipalSource: principalSource,
					PrincipalType: principalType,
					MaximumEntitySuggestions: maximumEntitySuggestion || 50
                }
            };
			let options: ISPHttpClientOptions = { headers: { 'odata-version': '3.0' }, body: JSON.stringify(data) };

			this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, options)
				.then((response: SPHttpClientResponse) => {
					if(response.ok) {
						resolve(response.json());
					}
					else {
						reject(response.statusText);
					}
				})
				.catch((error) => {
					reject(error);
				}
			); 
        });
開發者ID:,項目名稱:,代碼行數:29,代碼來源:

示例3: getChildTermsAsync

  /**
   * @function
   * Gets the child terms of another term of the Term Store in the current SharePoint env
   */
  private async getChildTermsAsync(term: any): Promise<ISPTermObject[]> {

    // Check if there are child terms to search for
    if (Number(term['TermsCount']) > 0) {

      //Build the Client Service Request
      let clientServiceUrl = this.siteAbsoluteUrl + '/_vti_bin/client.svc/ProcessQuery';
      let data = '<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="20" ObjectPathId="19" /><Query Id="21" ObjectPathId="19"><Query SelectAllProperties="false"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties><Property Name="CustomSortOrder" ScalarProperty="true" /><Property Name="CustomProperties" ScalarProperty="true" /><Property Name="LocalCustomProperties" ScalarProperty="true" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><Property Id="19" ParentId="16" Name="Terms" /><Identity Id="16" Name="' + term['_ObjectIdentity_'] + '" /></ObjectPaths></Request>';
      let httpPostOptions: ISPHttpClientOptions = {
        headers: {
          'accept': 'application/json',
          'content-type': 'application/json',
          "X-RequestDigest": this.formDigest
        },
        body: data
      };
      let serviceResponse: SPHttpClientResponse = await this.spHttpClient.post(clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions);
      let serviceJSONResponse: Array<any> = await serviceResponse.json();

      // Extract the object of type SP.Taxonomy.TermCollection from the array
      let termsCollections = serviceJSONResponse.filter(
        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === "SP.Taxonomy.TermCollection")
      );

      // And if any, get the first and unique Terms collection object
      if (termsCollections != null && termsCollections.length > 0) {
        let termsCollection = termsCollections[0];

        let childItems = termsCollection['_Child_Items_'];
        
        return(await Promise.all<ISPTermObject>(childItems.map(async (t: any) : Promise<ISPTermObject> => {
          return await this.projectTermAsync(t, term);
        })));
      }
    }

    // Default empty array in case of any missing data
    return (new Promise<Array<ISPTermObject>>((resolve, reject) => {
      resolve(new Array<ISPTermObject>());
    }));
  }
開發者ID:AdrianDiaz81,項目名稱:sp-dev-fx-extensions,代碼行數:45,代碼來源:SPTermStoreService.ts

示例4: resolve

		return new Promise<any>((resolve,reject) => {
			let endpoint = Text.format("{0}/_api/web/lists(guid'{1}')/GetItems?$expand=FieldValuesAsText,FieldValuesAsHtml", webUrl, listId);
			let data:any = { 
				query : { 
					__metadata: { type: "SP.CamlQuery" }, 
					ViewXml: camlQuery
				}
			};
			let options: ISPHttpClientOptions = { headers: { 'odata-version': '3.0' }, body: JSON.stringify(data) };

			this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, options)
				.then((postResponse: SPHttpClientResponse) => {
					if(postResponse.ok) {
						resolve(postResponse.json());
					}
					else {
						reject(postResponse);
					}
				})
				.catch((error) => { 
					reject(error); 
				}); 
        });
開發者ID:,項目名稱:,代碼行數:23,代碼來源:

示例5: getTermsFromTermSetAsync

  /**
   * @function
   * Gets the collection of terms in the provided termSet
   */
  public async getTermsFromTermSetAsync(termSetName: string): Promise<ISPTermObject[]> {
    if (Environment.type === EnvironmentType.SharePoint ||
        Environment.type === EnvironmentType.ClassicSharePoint) {

      //First gets the FORM DIGEST VALUE
      let contextInfoUrl: string = this.siteAbsoluteUrl + "/_api/contextinfo";
      let httpPostOptions: ISPHttpClientOptions = {
        headers: {
          "accept": "application/json",
          "content-type": "application/json"
        }
      };

      Log.info(LOG_SOURCE, `Invoking URL ${contextInfoUrl} to get ContextInfo`);
      
      let response: SPHttpClientResponse = await this.spHttpClient.post(contextInfoUrl, SPHttpClient.configurations.v1, httpPostOptions);
      let jsonResponse: any = await response.json();
      this.formDigest = jsonResponse.FormDigestValue;

      // Build the Client Service Request
      let clientServiceUrl = this.siteAbsoluteUrl + '/_vti_bin/client.svc/ProcessQuery';
      let data = '<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="JavaScript Client" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="2" ObjectPathId="1" /><ObjectIdentityQuery Id="3" ObjectPathId="1" /><ObjectPath Id="5" ObjectPathId="4" /><ObjectIdentityQuery Id="6" ObjectPathId="4" /><ObjectPath Id="8" ObjectPathId="7" /><Query Id="9" ObjectPathId="7"><Query SelectAllProperties="false"><Properties /></Query><ChildItemQuery SelectAllProperties="false"><Properties><Property Name="Terms" SelectAll="true"><Query SelectAllProperties="false"><Properties /></Query></Property></Properties></ChildItemQuery></Query></Actions><ObjectPaths><StaticMethod Id="1" Name="GetTaxonomySession" TypeId="{981cbc68-9edc-4f8d-872f-71146fcbb84f}" /><Method Id="4" ParentId="1" Name="GetDefaultSiteCollectionTermStore" /><Method Id="7" ParentId="4" Name="GetTermSetsByName"><Parameters><Parameter Type="String">' + termSetName + '</Parameter><Parameter Type="Int32">1033</Parameter></Parameters></Method></ObjectPaths></Request>';
      httpPostOptions = {
        headers: {
          'accept': 'application/json',
          'content-type': 'application/json',
          "X-RequestDigest": this.formDigest
        },
        body: data
      };

      Log.info(LOG_SOURCE, `Invoking URL ${clientServiceUrl} to get terms of a TermSet`);
      
      let serviceResponse: SPHttpClientResponse = await this.spHttpClient.post(clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions);
      let serviceJSONResponse: Array<any> = await serviceResponse.json();

      let result: Array<ISPTermObject> = new Array<ISPTermObject>();

      // Extract the object of type SP.Taxonomy.TermSetCollection from the array
      let termSetsCollections = serviceJSONResponse.filter(
        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === "SP.Taxonomy.TermSetCollection")
      );

      // And if any, process the TermSet objects in it
      if (termSetsCollections != null && termSetsCollections.length > 0) {
        let termSetCollection = termSetsCollections[0];

        let childTermSets = termSetCollection['_Child_Items_'];

        // Extract the object of type SP.Taxonomy.TermSet from the array
        let termSets = childTermSets.filter(
          (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === "SP.Taxonomy.TermSet")
        );

        // And if any, process the requested TermSet object
        if (termSets != null && termSets.length > 0) {
          let termSet = termSets[0];

          let termsCollection = termSet['Terms'];
          let childItems = termsCollection['_Child_Items_'];

          return(await Promise.all<ISPTermObject>(childItems.map(async (t: any) : Promise<ISPTermObject> => {
            return await this.projectTermAsync(t, null);
          })));
        }
      }
    }

    // Default empty array in case of any missing data
    return (new Promise<Array<ISPTermObject>>((resolve, reject) => {
      resolve(new Array<ISPTermObject>());
    }));
  }
開發者ID:AdrianDiaz81,項目名稱:sp-dev-fx-extensions,代碼行數:77,代碼來源:SPTermStoreService.ts


注:本文中的@microsoft/sp-http.SPHttpClient.post方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。