本文整理匯總了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) );
});
});
示例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);
}
);
});
示例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>());
}));
}
示例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);
});
});
示例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>());
}));
}