Mostafa Talebi
Mostafa Talebi

Reputation: 9173

Angular JSON $http request do not send JSON like jQuery

I have read about AngularJS post request header which is application/json

But I want to change it to:

Content-Type=application/x-www-form-urlencoded; charset=UTF-8

I do the following but the post request is still sent with the same application/json

Here is the Angular:

 $http.post("server.php", checkUserPostData, 
{"headers" : "Content-Type=application/x-www-form-urlencoded; charset=UTF-8"})

            .success(function(data, status, header, config){
                if(data=='exists')
                return true;
                else return false;
            });

How should I set the config header of the request then?

Upvotes: 2

Views: 6028

Answers (1)

Douglas Adams
Douglas Adams

Reputation: 1550

The headers need to be a JSON object.

Try:

{"headers" : { "Content-Type" : "application/x-www-form-urlencoded; charset=UTF-8" }}

From here: https://docs.angularjs.org/api/ng/service/$http

headers – {Object} – Map of strings or functions which return strings representing HTTP headers to send to the server. If the return value of a function is null, the header will not be sent.

Upvotes: 4

Related Questions