Maison >interface Web >js tutoriel >Comment puis-je effectuer des requêtes POST inter-domaines en JavaScript sans actualisation de page ni analyse de réponse ?
Problème :
Comment effectuer une requête POST inter-domaines à l'aide JavaScript sans actualiser la page ni nécessiter de réponse analyser ?
Solution :
Comprendre le partage de ressources d'origine croisée (CORS)
Pour faciliter la communication entre domaines, CORS est un standard implémenté sur le serveur. En définissant des en-têtes de réponse sur le serveur, vous pouvez accorder à des domaines spécifiques l'autorisation d'accéder aux ressources de votre propre domaine.
Configuration côté serveur (à l'aide de PHP) :
<?php switch ($_SERVER['HTTP_ORIGIN']) { case 'http://from.com': case 'https://from.com': header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']); header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS'); header('Access-Control-Max-Age: 1000'); header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With'); break; } ?>
Cela permet au script de from.com d'effectuer des requêtes POST, GET et OPTIONS inter-domaines.
Demande AJAX côté client ( Utilisation de jQuery) :
$.ajax({ type: 'POST', url: 'https://to.com/postHere.php', crossDomain: true, data: '{"some":"json"}', dataType: 'json', success: function(responseData, textStatus, jqXHR) { var value = responseData.someKey; }, error: function (responseData, textStatus, errorThrown) { alert('POST failed.'); } });
Processus :
Considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!