跨域请求被阻止:(原因:CORS请求失败)。在angularjs

时间:2015-12-10 10:31:56

标签: angularjs cors

我是angularjs的新手,在我的网络应用程序中集成了paytm钱包。当我从我的角度js函数发送请求paytm服务器时,它显示此错误:

  

阻止跨源请求:同源策略禁止在https://pguat.paytm.com/oltp-web/processTransaction?orderid=data.ORDER_ID读取远程资源。 (原因:CORS请求失败)。

这是我的功能

function sendDataToPaytm(data)
{
    var defer = $q.defer();
    console.log(data);

    $http.defaults.headers.common['Access-Control-Allow-Origin'] =  "*";
    $http.defaults.headers.common['Access-Control-Allow-Methods'] = "POST, GET, OPTIONS, PATCH, DELETE";
    $http.defaults.headers.common['Access-Control-Allow-Headers'] = "Origin, X-Requested-With, Content-Type, Accept";
    console.log($http);
    console.log();

    var url = 'https://pguat.paytm.com/oltp-web/processTransaction?orderid=data.ORDER_ID';
    $http.post(url, data, headers)
    .success(function(data, status, headers, config){
        defer.resolve([status, data]);
    })
    .error(function(data, status, headers, config){
        //console.log("Error in getting sellers info");
        defer.resolve([status, data]);
    });

    return defer.promise;
}

请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

.gdbinit标头是必须设置服务器端的响应标头。也就是说,如果相应的服务器没有发送此标头,则浏览器会阻止您因跨服务器(域,子域和协议)侵权而请求来自此服务器的信息。

仅当原始页面由同一服务器(域,子域和协议)提供时,它才会允许请求。