この記事では、POSTリクエストでAngularJSのメッセージ本文を通過する方法について説明します。次のように、参照のために共有してください。
Angularjsでは、$ httpはメッセージ本文のパラメーターを投稿として渡します。メッセージ本文によって渡されるパラメーターの正確性を確保するために、以下の変更を行う必要があります。
1.アプリケーションを宣言するときに設定します。
var httppost = function($ httpprovider){ / ******************************************************************************************************************************************************************* $ httpprovider.defaults.headers.post ['content-type'] = 'application/x-www-form-urlencoded; charset = utf-8'; / * *職人;オブジェクトをx-www-form-urlencodedシリアル化に変換します。 * @param {object} obj * @return {string} */ var param = function(obj){var query = ''、name、value、fullsubname、subname、subvalue、innerobj、i; for(objの名前){value = obj [name]; if(value instance of array){for(i = 0; i <value.length; ++ i){subvalue = value [i]; fullsubname = name + '[' + i + ']'; innerobj = {}; innerobj [fullsubname] = subvalue; query + = param(innerobj) + '&'; }} else if(value instanceof object){for(subname in value){subvalue = value [subname]; fullsubname = name + '[' + subname + ']'; innerobj = {}; innerobj [fullsubname] = subvalue; query + = param(innerobj) + '&'; }} else if(value!== undefined && value!== null)query + = encodeuricomponent(name) + '=' + encodeuricomponent(value) + '&'; } return query.length? query.substr(0、query.length -1):query; }; // $ httpサービスのデフォルトTransformRequest $ httpprovider.defaults.transformRequest = [function(data){return angular.isobject(data)&& string(data)!== '[object file]'? param(data):data; }];}; var ngapp = angular.module( 'wtapp'、['ngcookies']、httppost);2。$ http投稿を呼び出します
$ http({method: 'post'、url: 'getdata.ashx'、params:{id: '1002'}、// params as url data:{keyname: 'qubernet'} //メッセージbodyパラメーター}、関数(データ){});この記事がすべての人のAngularJSプログラミングに役立つことを願っています。