angularjs – 使用$http POST Content-Type application / x-www-form-urlencoded访问API

前端之家收集整理的这篇文章主要介绍了angularjs – 使用$http POST Content-Type application / x-www-form-urlencoded访问API前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试访问此REST API,它接受三个参数:
stationId,crusherId,monthYear
我在AngularJS中这样做:
$http({
        //headers: {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},//headers: {'Content-Type': 'application/json; charset=UTF-8'},headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','Accept':       'application/json'
        },url:    'https://myurl../api/getHPData',method: 'POST',data: {
            stationId: 263,crusherId: 27,monthYear: '2016-4'
        }
    })

    .then(function(data,status,headers,config) {
            //console.log(JSON.stringify(response));
            console.log(data);
     })
    .catch(function(error){
            //console.log("Error: " + JSON.stringify(error));
            console.log(error);
        })

但我总是得到这个:

Object {data: “{“result”:”false”}”,status: 200,config: Object,statusText: “OK”,headers: function}

要么

{“data”:”{\”result\”:\”false\”}”,”status”:200,”config”:{“method”:”POST”,”transformRequest”:[null],”transformResponse”:[null],”headers”:{“Content-Type”:”application/x-www-form-urlencoded;
charset=UTF-8″,”Accept”:”application/json”},”url”:”07000″,”data”:{“stationId”:263,”crusherId”:27,”monthYear”:”2016-4″}},”statusText”:”OK”}

如果我将标题Content-Type更改为:

headers: {'Content-Type': 'application/json; charset=UTF-8'},

它给:

Object {data: null,status: -1,statusText: “”,headers: function}

要么

{“data”:null,”status”:-1,”headers”:{“Content-Type”:”application/json;
charset=UTF-8″,”Accept”:”application/json,text/plain,
/“},”statusText”:””}

我做错了什么,请帮助我.

Plunker在这里:

https://plnkr.co/edit/57SiCdBZB2OkhdR03VOs?p=preview

(编辑)

注意:
我可以在jQuery中做到:

<script>
$(document).ready(function() {
        get_homepage_data(263,27,'2016-04');

        function get_homepage_data(stationIds,crusherIds,date) {
            var url = "https://myurl../api/getHPData";
            var data_to_send = {
                'stationId': stationIds,'crusherId': crusherIds,'monthYear': date
            };

            console.log("Value is: " + JSON.stringify(data_to_send));
            //change sender name with account holder name
            //        console.log(data_to_send)
            $.ajax({
                url: url,method:   'post',dataType: 'json',//contentType: 'application/json',data: data_to_send,processData: true,// crossDomain: true,beforeSend: function () {
                },complete: function () {},success: function (result1) {
                    var Result = JSON.parse(result1);
                    var value_data = Result["valueResult"];
                    var foo = value_data["gyydt"];

                    console.log("Log of foo is: " + foo);

                    var foo2 = 0;
                    // 10 lac is one million.
                    foo2 = foo / 1000000 + ' million';

                    console.log(JSON.stringify(value_data["gyydt"]) + " in million is: " + foo2);
                },error: function (request,error) {
                    return false;
                }
            });
        }   
    }); // eof Document. Ready  
</script>

以上脚本的输出是脚本是:

>价值是:{“stationId”:263,“crusherId”:27,“monthYear”:“2016-04”}
> XHR完成加载:POST
https://myurl../api/getHPData”.
> foo的日志是:26862094
>“26862094”百万是:26.862094万

哪个是完美的.

猜你在找的Angularjs相关文章