Hi,

I am working on an application which needs to send a 'post' request to a 
server residing on a separate domain. The request and response data are of 
type XML. I tried using $http and $http.post methods, but it did not work. 
I get the following error message:

"XMLHttpRequest cannot load "myUrl". No 'Access-Control-Allow-Origin' 
header is present on the requested resource. Origin 'http://localhost:1337' 
is therefore not allowed access. "

After searching online and asking on the chatroom I came to know that these 
methods can only be used for JSON data.

My Code currently looks like this :

App.js:
-------------

angular.module('SmartZone', SmartZone.ModuleRegistry).
config(function ($provide, $stateProvider, $urlRouterProvider, 
$httpProvider) {
/*------------------Other Code ----------------------------------------*/
        //Allow http requests outside the domain
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
})


Widget Controller:
----------------------------

controller('Controller', ['$scope', 'dataManager', '$http', 
function($scope, dataManager, $http){
/*------------------------------- Other Code 
-------------------------------------*/
        $scope.url = "myUrl";
        $scope.data = '<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:sch="********************************************">'+
            '<soapenv:Header>'+
            '<sch:SmartNoteAuthentication>'+
            '<sch:User>***********</sch:User>'+
            '<sch:Password>*********</sch:Password>'+
            '</sch:SmartNoteAuthentication>'+
            '</soapenv:Header>'+
            '<soapenv:Body>'+
            '<sch:SmartNoteRequest>'+
            '<sch:PatientNote>Headache & neck pain</sch:PatientNote>'+
            '<sch:PatientDemographicInfo>'+
            
'<sch:AgeRange><sch:Code>8</sch:Code><sch:Name>Adult</sch:Name></sch:AgeRange>'+
            
'<sch:Gender><sch:Code>m</sch:Code><sch:Name>Male</sch:Name></sch:Gender>'+
            '</sch:PatientDemographicInfo>'+
            '<sch:ProcessType>NLP_And_DiffDiag</sch:ProcessType>'+
            '</sch:SmartNoteRequest>'+
            '</soapenv:Body>'+
            '</soapenv:Envelope>';
        alert($scope.url);
        alert($scope.data);
        $scope.config = "{ 'Content-Type': 'text/xml', 
'Access-Control-Allow-Origin' : '*', 'Access-Control-Allow-Methods' : 
'GET,POST', 'Access-Control-Allow-Headers' : 'Content-Type' }";
        alert($scope.config);
        $http({
            method: 'POST',
            url: $scope.url,
            data: $scope.data,
            headers: $scope.config
        })
            .success(function(data) {
                alert("http request was successful");
                alert("data is : "+data);
                alert("status is : "+status);
            })
            .error(function(data, status) {
                alert("http request failed");
                alert("data is : "+data);
                alert("status is : "+status);
            });
    }])


 Can you tell me how I can achieve the above task? Kindly let me know if I 
need to provide any further information to help resolve this.

Thanks,
Anubha Garg

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to