JavaScript: Сетевой запрос Fetch

Метод fetch() делает сетевой запрос схожим образом с ajax() и get() методами в jQuery.

Файл js:



let request = {			
	run : function( url, data )
	{							
		let headers = {
			'Content-Type': 'application/json;charset=utf-8',			
		};
		fetch( url, {
			'method': 'POST',
			'mode': 'same-origin',
			'credentials': 'include',
			'cache': 'no-cache',
			'headers': headers,
			'body': JSON.stringify( data )
		})
		.then( response => this.check( response ) )
		.then( data => this.success( data ) )
		.catch( error => this.error( error ) );
	},
	check : function( response )
	{
		if( response.status !== 200 )
		{
			console.log('Похоже, возникла проблема. Код состояния: ' + response.status );
			return;
		}						
		return response.json();
	},
	success : function( data )
	{		
		if( data.result )
		{																
			console.log( data.html );
			// > ваш юзерагент
		}
	},
	error : function( error )
	{
		console.log('Ошибка: ', error );
	}
};

let url = 'handler.php';
let data = {	
	'ua': window.navigator.userAgent
};
request.run( url, data );


Файл-обработчик handler.php:



$res = [
	'result' => false,		
	'html' => '',
];

$contentType = isset( $_SERVER['CONTENT_TYPE'] ) ? trim( $_SERVER['CONTENT_TYPE'] ) : '';

if( $contentType === 'application/json;charset=utf-8' )
{
	$content = trim( file_get_contents('php://input') );
	$data = json_decode( $content, true );	

	$res['result'] = true;
	$res['html'] = $data['ua'];	
}

echo json_encode( $res );


JavaScript Fetch up: просмотров: 204