首页 > 编程 > JavaScript > 正文

Angularjs中$http以post请求通过消息体传递参数的实现方法

2019-11-20 09:17:57
字体:
来源:转载
供稿:网友

本文实例讲述了Angularjs中$http以post请求通过消息体传递参数的方法。分享给大家供大家参考,具体如下:

Angularjs中,$http以post在消息体中传递参数,需要做以下修改,以确保消息体传递参数的正确性。

一、在声明应用的时候进行设置:

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);

二、调用$http post

$http({  method: 'POST',  url: 'GetData.ashx',  params: { id: '1002' },//params作为url的参数  data: { keyName: 'qubernet' }//作为消息体参数}, function (data) {});

希望本文所述对大家AngularJS程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表