2016-12-18 14 views
0

私は安らかなサービスプロバイダとしてgrails 3.xを使用しています。シンプルな残りのリソースが同様に提供されています。私は次のように成功したカールによってそれをテストしてみた

@Resource(uri ='/users', readOnly = false, formats = ['json', 'xml']) 
class User { 
    String username 
    String email 
    String password 
} 

$ curl -H "Content-Type: application/json" -X POST -d "{\"username\":\"xyz\",\"password\":\"xyz\", \"email\":\"[email protected]\"}" http://localhost:8080/users 
{"id":1,"email":"[email protected]","password":"xyz","username":"xyz"} 

が、私はHTTPのPOST AJAX呼び出しを実行するためにangularjsを使用する場合、

$http.post(url, {"username":"dummy", "password":"test", "email":"[email protected]"}) 
    .success(function(data, status, headers, config) { 
     // $location.path('/listUsers'); 
     console.log("data " + data); 
    }).error(function(data, status, headers, config) { 
     console.log("error occured... " + status);     
    }); 

同じ正確な値であっても常に422ステータスをスローします。

chrome console

+0

をあなたは$ http.post電話をかけるあなたのコードを共有することができます。 – xitter

+0

アイデア?それは本当に面倒です...私は2日間それと苦労しました。まず、私はそれがgrailsバグだと思った。私はさまざまなgrailsバージョンをインストールしましたが、すべて失敗しました。 –

+0

422は 'Unprocessable Entity'を表しているので、送信されるデータの形式は正しいです。スタックトレースに何かがありますか、それともバックエンド側でデバッグしようとしましたか? –

答えて

0

最後に、私はそれを考え出しました。コメントありがとうございました。

var config = { 
    'method': 'POST', 
    'url': "http://localhost:8080/users", 
    'headers': { 
     'Content-Type': 'application/json' 
    }, 
    'data': {"username":"dummy", "password":"test", "email":"[email protected]"} 
} 

$http(config) 
    .success(function(data, status, headers, config) { 
     // $location.path('/listUsers'); 
     console.log("data " + data); 
    }).error(function(data, status, headers, config) { 
     console.log("error occured... " + status);     
    }); 
1

次のようにして、世界的にこのヘッダを置くことができます -

angular.module('myApp', []) 
     .config(function ($httpProvider) { 
      $httpProvider.defaults.headers.put['Content-Type'] = 'application/json'; 
      $httpProvider.defaults.headers.post['Content-Type'] = 'application/json'; 
     }) 
+0

これは既にデフォルトです – charlietfl

関連する問題