2

Hi and merry christmas to you all.

I am working with a Phonegap AngularJS App. I am trying to make an http Post but I it returns an 404 error. I tried the POST using jquery 1.10.2 and it works. I have been days in this and it is the last part to finish coding the app.

I have tried different versions of the request with no success.

Here is the code

$scope.sendMail = function (user){ 
    console.log('sendmaul');


$http.post('https://cloud/email.aspx',
   {
        user: user.email,
        pass: user.password,
        to:user.recipient,
        subject:'Test',
        message:'My Message'
    }
    )
.success(function (data, status, headers, config){
        console.log('success');

})
.error(function (data,status,headers,config){
        console.log(data + status + config);
    });
}

I have read in many places that I need to add on a angular.module the following code as .config

$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];

I added that code on controller.js but I don't see difference on behavior in my app. I also have many http.get() request that work really well.

--EDIT--

https://cloud.email.aspx is not a real site.

JocisPR
  • 337
  • 1
  • 3
  • 10
  • 1
    Have you looked @ network traces / debuggers to see what the differences in your request is with jquery and angular? Have you tried curl? – NG. Dec 23 '13 at 21:10
  • I am testing inside my app because when testing locally I get No 'Access-Control-Allow-Origin' so it is very difficult to check anything else. This is my first app so I don't know how to implement curl with angular. If I remove POST method I get a 405. thanks for the response. – JocisPR Dec 23 '13 at 21:43
  • It seems a CORS problem. – JocisPR Dec 23 '13 at 22:24
  • I solved my CORS problem and I get a 200 status but it seems that DATA does not arrive. Again, jquery 1.10.2 works like a charm – JocisPR Dec 30 '13 at 13:14
  • Ha ha, did `sendmaul` make anyone else smile? – Douglas Ludlow Jul 29 '16 at 16:43

1 Answers1

8

Solved my problem.

After adding CORS and some Origins Exceptions on server side. I tried my code and got Success and 200 status response but the web service did nothing. After reading this other stackoverflow post I found out that Angularjs post data different from jquery so a normal POST read on the web service would not work. That post have a link to this site which explain in more detail my issue and it has some code for to send data the same way jquery does.

I hope this help someone

Community
  • 1
  • 1
JocisPR
  • 337
  • 1
  • 3
  • 10