angulaire.js - Le projet Angular1+gulp utilise http-proxy-middleware comme problème de proxy
天蓬老师
天蓬老师 2017-05-15 17:14:17
0
2
888

Une fois l'emballage terminé, le navigateur ouvre le lien : http://localhost:3000/#/register
Lorsque la fonction d'inscription est terminée, il y a des demandes de publication, telles que la soumission des informations d'inscription, et des demandes d'obtention , comme vérifier les numéros de téléphone portable. A-t-il été enregistré ?
Le problème que je rencontre maintenant est que les requêtes get peuvent être utilisées normalement, mais les requêtes post ne peuvent pas être utilisées normalement.

Comme indiqué ci-dessous, la demande d'obtention est normale et le résultat attendu est obtenu.

Comme suit, la demande de publication est anormale. Il s'agissait à l'origine d'une demande de publication, mais elle est devenue Request Method:OPTIONS lors du proxy, puis une erreur s'est produite.

Ci-joint les configurations liées au proxy :

var browserSync = require('browser-sync').create();
var proxyMiddleware = require('http-proxy-middleware');

gulp.task('server', ['build'], function() {
    var middleware = proxyMiddleware('/d', {target: 'http://api.b.cn', changeOrigin: true});
    browserSync.init({
        server: {
            baseDir:dist,
            index: 'index.html',
            middleware: middleware
        }
    });
});
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(2)
过去多啦不再A梦

Merci pour l'invitation !
La norme de partage de ressources d'origine croisée ajoute un nouvel ensemble de champs d'en-tête HTTP qui permettent au serveur de déclarer quels sites d'origine sont autorisés à accéder à quelles ressources. De plus, la spécification exige que pour les méthodes de requête HTTP qui peuvent avoir des effets secondaires sur les données du serveur (en particulier les requêtes HTTP autres que GET ou les requêtes POST avec certains types MIME), le navigateur doit d'abord utiliser la méthode OPTIONS pour lancer une requête de contrôle en amont. (requête de contrôle en amont) pour savoir si le serveur autorise la requête inter-domaines. Une fois que le serveur a confirmé l'autorisation, il lance la requête HTTP proprement dite. Lors du retour de la demande de contrôle en amont, le serveur peut également indiquer au client s'il doit transporter des informations d'identification (y compris les cookies et les données liées à l'authentification HTTP).
Il est recommandé de lire en détail l'article suivant :

  • Contrôle d'accès HTTP

Pour résoudre le problème, il existe deux manières :

  • Ajouter un en-tête de requête inter-domaines CORS

  • Si vous n'en avez besoin que pour le développement, vous pouvez utiliser Fiddler pour définir l'en-tête de requête inter-domaines CORS. J'ai récemment trouvé un artefact Chrome - CORS Toggle, ce qui est très pratique.

Ressources de référence

  • Solution CORS

  • Problème inter-domaines, solution - Solution CORS

  • Partage de ressources d'origine croisée (CORS) que vous ne connaissez pas

淡淡烟草味

L'avez-vous résolu ? J'ai rencontré le même problème

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal