61

Angular が正しいコンテンツ タイプ オプションを追加していないため、次のコマンドを試しました。

$http({
    url: "http://localhost:8080/example/teste",
    dataType: "json",
    method: "POST",
    headers: {
        "Content-Type": "application/json"
    }
}).success(function(response){
    $scope.response = response;
}).error(function(error){
    $scope.error = error;
});

上記のコードは、次の http 要求を生成します。

POST http://localhost:8080/example/teste HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 0
Cache-Control: no-cache
Pragma: no-cache
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Content-Type: application/xml
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
Referer: http://localhost:8080/example/index
Accept-Encoding: gzip,deflate,sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: JSESSIONID=C404CE2DA653136971DD1A3C3EB3725B

ご覧のとおり、「application/json」ではなく、コンテンツ タイプが「application/xml」になっています。ここで何か不足していますか?

4

6 に答える 6

30
$http({
    url: 'http://localhost:8080/example/teste',
    dataType: 'json',
    method: 'POST',
    data: '',
    headers: {
        "Content-Type": "application/json"
    }

}).success(function(response){
    $scope.response = response;
}).error(function(error){
    $scope.error = error;
});

このようにしてみてください。

于 2013-04-24T16:05:40.010 に答える
2

すごい!上記の解決策は私にとってはうまくいきました。GET通話でも同じ問題がありました。

 method: 'GET',
 data: '',
 headers: {
        "Content-Type": "application/json"
 }
于 2015-09-19T02:59:15.687 に答える