cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Permintaan pelaksanaan yang sama menggunakan $http akan menggesa permintaan merentas domain, tetapi menggunakan ajax jquery adalah perkara biasa.

$.ajax({
          url: api.regist,
          type: 'POST',
          dataType: 'json',
          data: {
            email: $scope.email,
            password: $scope.password
          }
        })
$http({
        url: api.regist,
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        data: {
          email: $scope.email,
          password: $scope.password
        }
      })

Bukankah kedua-duanya mempunyai maksud yang sama? Mengapakah ia boleh dilaksanakan dengan jayanya apabila menggunakan ajax, tetapi apabila menggunakan $http, ia menyebabkan ralat merentas domain?

天蓬老师天蓬老师2828 hari yang lalu581

membalas semua(2)saya akan balas

  • 为情所困

    为情所困2017-05-15 17:02:18

    postCfg = {
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
      },
      transformRequest: function(data) {
        return $.param(data);
      }
    }
    
    app.config([
      '$httpProvider',
      function($httpProvider) {
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
       }
    ]}
    
    $http.post(url, {}, postCfg)

    Kaedah yang saya dapati, ujian kelajuan berjaya

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-15 17:02:18

    Angular menggunakan domain silang jsonp, sudah tentu, premisnya ialah pelayan anda mengembalikan format jsonp.

    $http.jsop(url).success(fn).error(fn);

    balas
    0
  • Batalbalas