AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

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

51自学网 http://www.wanshiok.com
Angularjs,$http,post请求,消息体,传递参数

本文实例讲述了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程序设计有所帮助。


Angularjs,$http,post请求,消息体,传递参数  
上一篇:使用jquery/js获取iframe父子级、同级获取元素的方法  下一篇:原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法