2017-08-14 13 views
0

私は$httpでPOSTリクエストを送信しています:angularjs HTTP POSTを不正な要求400

$http({ 
    method: 'Post', 
    url: urlBuilt,   
    headers: {'Content-Type': 'application/json'},               
    params: {"colCode":modCodeCol,"whereClause":clause} 
}); 

句は非常に巨大であり、私は不正な要求400 errorを取得しています。 where句に小さな文字列が含まれていると、それは機能します。どうすればこの問題を解決できますか?このようなHTTPのブロックで

+0

あなたはwhereClause' 'へのデータの一例を共有coud? ? –

答えて

1

てみ変更のparamsにデータ

$http({ 
    method: 'POST', 
    url: urlBuilt,   
    headers: {'Content-Type': 'application/json'},               
    data:{"colCode":modCodeCol,"whereClause":clause} 
}); 

のparamsqueryParamsのためであれば、それは、URLに送信を意味します。 データが要求本文に追加されます。 POSTのための

+0

@Carrasco、私はデータを使用していました。私のSpring ContollerではrequestParamをrequestBodyに変更しました。クライアントが送信したリクエストは構文的に間違っていました。 – user700

0

あなたはJSONもそれは約束を取得し、それが後にこのようにリクエストを送信解決する方が良いでしょうとしてデータを送信する必要が要求:

var data = { 
       "colCode":modCodeCol, 
       "whereClause":clause 
      } 
    $http({ url: urlBuilt , method: 'POST', data: data }) 
     .then(function (result) { 
      deferred.resolve({ data: result.data.Data, count: result.data.Count }); 

     }); 
+0

なぜここで$ qを使用する必要があるのか​​知りたいですか?そして、あなたはhttpの短い構文を使うことができます。 '$ http.post(urlBuld、data).then(...)' – Akashii

+0

誰も$ qをどこでも使っています! $ qはバルクリクエストがある場合に使用されます –

+0

'deferred.resolve'? – Akashii

関連する問題