ホームページ >ウェブフロントエンド >jsチュートリアル >Angularjs で $http を実装して、投稿リクエストのメッセージ本文を通じてパラメーターを渡す方法
この記事の例では、Angularjs の $http を介してポスト リクエストを介してメッセージ本文にパラメーターを渡す方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。
Angularjs では、$http はメッセージ本文でパラメーターを渡すために post を使用します。メッセージ本文で渡されるパラメーターが正確であることを確認するには、次の変更を行う必要があります。 。
1. アプリケーションの宣言時に設定します:
var httpPost = function($httpProvider) { /******************************************* 说明:$http的post提交时,纠正消息体 ********************************************/ // Use x-www-form-urlencoded Content-Type $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; /* * The workhorse; converts an object to x-www-form-urlencoded serialization. * @param {Object} obj * @return {String} */ var param = function(obj) { var query = '', name, value, fullSubName, subName, subValue, innerObj, i; for (name in obj) { value = obj[name]; if (value instanceof 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; }; // Override $http service's default 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 post を呼び出します
$http({ method: 'POST', url: 'GetData.ashx', params: { id: '1002' },//params作为url的参数 data: { keyName: 'qubernet' }//作为消息体参数 }, function (data) { });
post リクエストを使用してメッセージ本文を通じてパラメーターを渡す Angularjs での $http のその他の実装メソッド関連の記事については、PHP 中国語 Web サイトに注目してください。