使用$ http.jsonp发布JSON数据?

时间:2016-03-02 14:52:37

标签: angularjs json jsonp

我使用AngularJS来调用支持JSON API的远程单元。 呼叫按此进行:

'use strict';
var app=angular.module('app', [])
app.controller('Login', function ($scope, $http) {
    $scope.login = function () {
        $scope.user;
        $scope.passwd = "";
        $scope.message = "";
        $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
        $http.post('http://192.168.30.1/jsonrpc',
            {
                "params": [{
                    "url": "sys/login/user",
                    "data": [{
                        "passwd": $scope.passwd,
                        "user": $scope.user,
                    }]
                }],
                "session": 1,
                "id": 1,
                "method": "exec"
            }).then(function (response) {
                if (response.result.status.code == 0) {
                    $scope.message = 'Bienvenue'
                }
                else {
                    $scope.message = 'Non authetifie'
                }
            }, function () {
                $scope.message = 'erreur'
            })

    }
} );

如上面的代码所示,$http.post中的第二个参数是一些JSON数据,它们将被发送到远程单元,响应也是JSON。

当我发送请求时,我可以看到带有fiddler的JSON响应但是在$ scope.message中我得到erreur,因为对于javascript没有收到响应。

由于我遇到了CORS问题,我想知道我可以使用$http.jsonp发送与JSONP相同的数据吗?

我的问题是,$http.jsonp仅将url[config]作为参数而不是$http.post,因此我无法通过它发送我的JSON数据。

0 个答案:

没有答案