本文实例讲述了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请求通过消息体传递参数的实现方法相关推荐

  1. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...

    本文主要介绍了Python语言学习基础篇之Python发送Post请求之根据参数位置传参.数据类型.不同方式传参,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助. 目录 一.验证 ...

  2. 同一路由带参刷新,以及params和query两种方式传参的异同

    同一路由应该不叫跳转了吧,就先叫刷新好了. 需求及问题 今天做web课设有这样一个需求: 在导航栏中一项叫做教师队伍一级菜单下,有三个二级菜单,分别为教授.副教授.讲师.这三个二级菜单分别对应一个页面 ...

  3. C++11多线程第三篇:线程传参详解,detach()大坑,成员函数做线程参数

    文章目录 3.1 传递临时对象作为线程参数 3.1.1 要避免的陷阱(解释1) 3.1.2 要避免的陷阱(解释2) 3.1.3 总结 3.2 临时对象作为线程参数进一步详解 3.2.1 线程id概念 ...

  4. angularjs方法当做参数_AngularJS $http post 传递参数数据的方法

    在cordova开发的时候使用到了$http的post方法,传递的参数服务端怎么都接收不到,搜索了下,发现使用AngularJS通过POST传递参数还是需要设置一些东西才可以! 1.不能直接使用par ...

  5. c语言调用dll实例 结构体传参,Matlab调用Dll,对于自定义结构体数组如何传参? - 程序语言 - 小木虫 - 学术 科研 互动社区...

    %[例子1] % Matlab调用DLL,整形数组传参 v = [1,22,33;44,-56,67]; pv = libpointer('int16Ptr',v); m = get(pv,'Valu ...

  6. java代码发送请求并传参_如何优化您的请求请求并使代码审核人员满意

    java代码发送请求并传参 Imagine reading a novel, but having the chapters sliced up and reordered alphabeticall ...

  7. structs2 get方式传参中文乱码解决方法

    Java.NET.URLEncoder.encode("中文或者english或者其它字符","UTF-8"); java.Net.URLDecoder.dec ...

  8. 关于jmeter body Data 传参报错message“:“\u7528\u6237\u540d \u4e0d\u80fd\u4e3a\u7a7a\u3002“的解决方法

    因为之前一直使用Parameters传参或者使用postman 突发奇想想用用jmeter测测接口,POST接口习惯性的把参数写到Body Date里 然后就发现报错了 后面一直以为是json格式没写 ...

  9. php 小程序页面传参,介绍小程序中传递参数的实现方法

    这篇文章主要介绍了微信小程序 参数传递详解的相关资料,需要的朋友可以参考下 微信小程序的推出,无疑将会在移动互联网行业里再次掀起风浪. 有人会质疑小程序会不会火, 会不会火我不知道, 看微信的用户量即 ...

最新文章

  1. 微信出现“已停止访问该网页”或“关于潜在的违法或违规内容”怎么办?如何获取被屏蔽的网页的网址?...
  2. Honor7x能用鸿蒙系统吗,家庭无缝覆盖:Honor 荣耀 发布 分布式路由 和 路由2
  3. vuejs单文件组件:安装 webpack 和 vue-cli
  4. 化学反应工程 第一章 均相单一反应动力学和理想反应器
  5. Linux学习之系统编程篇:利用 setitimer 实现 alarm练习
  6. [c++][语言语法]函数模板和模板函数 及参数类型的运行时判断
  7. spring的基本配置和使用
  8. [Github项目推荐] 推荐三个助你更好利用Github的工具
  9. wpspbc按钮是什么意思_AC只是英文单词缩写,在科技领域常见的有三种意思
  10. WPF/Silverlight中MVVM运用
  11. 如何解决服装面料纬斜问题
  12. Thinking in Java Reading Note(2.一切都是对象)
  13. C# 基础(二十五)WPF/WinForm 控件的句柄是什么意思?
  14. 电脑版微信防撤回大全
  15. Java程序员的8个级别,你在哪?
  16. 数字游戏(number)
  17. LeetCode476
  18. VR全景如何应用在家装中?体验真实的家装效果
  19. Mysql登录和修改初始化密码
  20. C# 读取处理超大TXT文本文件

热门文章

  1. Java_apply_in_automatic_system
  2. The bag-of-words model
  3. 在Web页面上启动运行Linux系统
  4. java中==和equals的区别
  5. 重新格式化NameNode后,DataNode启动不起来问题解决
  6. Oracle+jsp+Servlet的员工表的简单增删改查
  7. 二进制安装 kubernetes 1.12(三) - 部署 Master 节点组件
  8. ArrayList原理分析(重点在于扩容)
  9. 一起学Hadoop——Hadoop的前世今生
  10. 程序员们的时间管理法则