1。質問:
バックエンドは$ http.postで送信されたデータをAngularjsで受信できず、常にnullとして表示されます
サンプルコード:
$ http.post(/admin/keyvalue/getListBypage、{pageindex:1、pagesize:8}).success(function(){alert( "mrjing");});コードは間違っていませんが、データをバックグラウンドで受信することはできません。なぜこれがなぜですか?
Firefoxモニタリングの使用:パラメーターはJSON形式です
Googleの監視を使用:パラメーターを転送する方法はリクエストペイロードです
パラメーター転送方法はリクエストペイロードであり、パラメーター形式はjsonであり、フォームパラメーター転送ではないことがわかります。したがって、バックグラウンドでは、フォームデータを受信してパラメーターを受信できません。
POSTフォームリクエストを送信する場合、使用されるコンテンツタイプはApplication/X-WWW-Form-Urlencodedであり、ネイティブAJAXを使用したPOSTリクエストがそれを参照していない場合。
固定要求ヘッダーの場合、デフォルトのコンテンツタイプはテキスト/プレーンです。 charset = utf-8、そしてここのコンテンツタイプは次のとおりです。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
2。解決策:
コードを直接アップロードします。
// post var data = {pageindex:1、pagesize:8、}、// post request request url = "/admin/keyvalue/getlistbypage"、//パラメーターの通過方法をforpostcfg = {headers:{'content-type': 'application/x ww-form-form-form-urliencoded'} 'content-type':{'content-type'をformpostcfg = {content-type 'をformpostcfg = {content-type'}に変更するパラメーター$ .PARAM(data);}}; //データを取得するために投稿リクエストを送信します$ http.post(url、data、postcfg).success(function(response){alert( "mrjing");});次に、監視ツールを見てみましょう。
Firefoxモニタリング:パラメータータイプはフォームデータになりました
Google監視:
これで、パラメーター送信方法がフォームメソッドになり、バックエンドは通常、パラメーターを受信できます!
上記は、AngularJSの$ http.postによって送信されたデータをバックエンドで受信できない理由に関する関連する知識です。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!