recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Pourquoi jQuery peut-il demander normalement mais AngularJS signale une erreur inter-domaines?

Le rapport XMLHttpRequest ne peut pas charger http://example.com/v1/recharge. Le champ d'en-tête de demande Access-Control-Allow-Origin n'est pas autorisé par Access-Control-Allow-Headers dans la réponse de contrôle en amont.

   recharge.createRecharge = function (
          operatorId, operatorName, amount, extraAmount, userId, userName) {
          var deferred = $q.defer();
          var data = {
            operator: {
              user_id: operatorId,
              user_name: operatorName
            },
            amount: amount,
            recharge_amount: amount + extraAmount,
            currency: 'SGD',
            user: {
              user_id: userId,
              user_name: userName
            }
          };

          data = angular.toJson(data);
          if (data) {
            $http({
              method: 'POST',
              url: 'example.com/v1/recharge',
              headers: {
                'Content-Type': 'application/json'
              },
              data: data
            })
              .success(function (d, status) {
                  deferred.resolve(d, status);
                }
              ).error(function (err, status) {
              console.log(err);
            });
          }

          return deferred.promise;
        };
        

Le suivant fonctionne,

 var data = {
          'operator': {'user_id': '4320-9962-1b83f8fc4264', 'user_name': '乱石铺街'},
          'amount': 1,
          'recharge_amount': 2,
          'currency': 'SGD',
          'user': {'user_id': '4b92-ad75-506590099de5', 'user_name': 'ssdss'}
        };
        $.ajax({
          url: 'example.com/v1/recharge',
          method: 'POST',
          dataType: 'json',
          headers:{'Content-Type': 'application/json'},
          data: JSON.stringify(data),
          success: function (data) {
            alert(JSON.stringify(data));
          }
        });           
高洛峰高洛峰2710 Il y a quelques jours688

répondre à tous(1)je répondrai

  • 我想大声告诉你

    我想大声告诉你2017-06-15 09:24:53

    Ensuite, vous devez vérifier quelle est la valeur de votre "REWARDS_SERVICE_HOST". L'url dans votre ajax ci-dessous est évidemment un chemin relatif, et la requête est l'adresse d'interface du projet local.

    Mais si votre "REWARDS_SERVICE_HOST" contient http://.../v1 et http://.../ n'est pas complètement cohérent avec le port du nom de domaine de votre projet, alors il sera signalé comme cross-domain

    répondre
    0
  • Annulerrépondre