Calling _api/search/postquery from Modern Web Part (security validation invalid)

Silver Contributor

I am trying to call /_api/_search/postquery from a modern Script Editor web part, and I am getting this error:


VM6497:86 {"error":{"code":"-2130575251, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again."}}}


This same code works fine in classic sharepoint web part, is there something additional I have to account for in a simple REST API call in modern?  


		var postData = {
			'__metadata' : {'type' : 'Microsoft.Office.Server.Search.REST.SearchRequest'},
			'Querytext' : "*",
			type: "POST",
			url : "",    
			data: JSON.stringify(postData),
			headers: { 
	            "accept": "application/json;odata=verbose",
	            "content-type": "application/json;odata=verbose"
	            "X-RequestDigest": $("#__REQUESTDIGEST").val()
			success : function onSuccess(data, request){
			error : function onError(error) {
3 Replies
best response confirmed by VI_Migration (Silver Contributor)

I've found that if I make POSTs from a different site (or site collection) than the REST URL target, my on page RequestDigest won't do. I need to grab a fresh one from the target site _api/contextinfo.


Not sure if this is your issue, but worth a try.

Attempting that currently with no luck :(

The RequestDigest from the _api/contextinfo and the POST are on the same site, and I get the same error.
Well, magically, I come in today, and now this is working as it should. Not sure why it wouldn't work yesterday.