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 ?

Comment puis-je effectuer des requêtes POST inter-domaines en JavaScript sans actualisation de page ni analyse de réponse ?

Susan Sarandon
Libérer: 2025-01-02 13:52:39
original
159 Les gens l'ont consulté

How Can I Make Cross-Domain POST Requests in JavaScript Without Page Refresh or Response Parsing?

Envoi de requêtes POST inter-domaines avec JavaScript

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) :

  1. Dans le fichier PHP cible (par exemple, postHere.php), incluez ce qui suit code :
<?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;
}
?>
Copier après la connexion

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) :

  1. Configurez votre AJAX requête :
$.ajax({
  type: 'POST',
  url: 'https://to.com/postHere.php',
  crossDomain: true,
  data: '{&quot;some&quot;:&quot;json&quot;}',
  dataType: 'json',
  success: function(responseData, textStatus, jqXHR) {
    var value = responseData.someKey;
  },
  error: function (responseData, textStatus, errorThrown) {
    alert('POST failed.');
  }
});
Copier après la connexion

Processus :

  1. Le navigateur envoie une requête OPTIONS pour vérifier si le POST est autorisé.
  2. Serveur répond avec des en-têtes Access-Control accordant l'autorisation à des domaines spécifiques.
  3. Le navigateur envoie le Demande POST réelle.
  4. Le serveur traite la demande et renvoie la réponse.

Considérations :

  • Assurez-vous que les précautions de sécurité appropriées sont en place lors de l'octroi d'un accès multi-origine.
  • Les navigateurs mobiles ne prennent généralement pas en charge les accès multi-domaines. POST.
  • Considérez la surcharge potentielle des requêtes doubles et les implications en matière de sécurité.
  • Renvoyez toujours les en-têtes CORS appropriés dans la réponse, pas seulement pour les requêtes OPTIONS.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal