http请求头中的Content-Type属性在angular 和 node中的用法

post请求的请求体有以下两种格式:1.字符串: 'name=code_bunny&age=12'  这种格式的请求体,需要配置请求头 'Content-Type':'application/x-www-form-urlencoded'2.json:{name:'code_bunny',age:12}  这种格式的请求体,需要配置请求头 'Content-Type':'application/json;charset=UTF-8'注意:请求体格式和请求头的Content-Type类型必须保持一致,如果1的格式,设置Content-Type是application/json,或者2的格式,设置Content-Type是application/x-www-form-urlencoded,后台接收到的请求提都会是空的. 在jquery的ajax中,默认都是第一种,虽然在写请求体参数的时候,写的是json格式,但是jquery内部已经对json做了转换,最后还是以字符串的格式进行发送的.所以,jquery的...

angular学习笔记(二十六)-$http(4)-设置请求超时

本篇主要讲解$http(config)的config中的timeout项:$http({timeout:number}) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误demo:html:<!DOCTYPEhtml><htmlng-app='HttpGet'><head><title>18.4$http(2)</title><metacharset="utf-8"><scriptsrc="angular.js"></script><scriptsrc="script.js"></script></head><body><divng-controller="dataController"><span>{{data}}</span></div></body></html>js:varjsonData={name:"code_bunny"};v...

angular学习笔记(二十五)-$http(3)-转换请求和响应格式

本篇主要讲解$http(config)的config中的tranformRequest项和transformResponse项1.transformRequest:$http({transformRequest:function(data){//对前台发送的data进行处理returndata}})这个在测试的时候遇到了很大的问题.只要经过transformRequest函数处理,哪怕是不做任何处理,node后台都会报错,php后台也报同样的错,so,angular的这部分是有bug的.  2.transformResponse:$http({transformResponse:function(data){//对后台返回的data进行处理returndata}})  demo:html:<!DOCTYPEhtml><htmlng-app='HttpGet'><head><title>18.4$http(2)</title><metacharset="utf-8"><s...

angular学习笔记(二十四)-$http(2)-设置http请求头

1.angular默认的请求头:其中,Accept和X-Requested-With是$http自带的默认配置Accept:application/json,text/plain    接受的请求的数据类型:json文本X-Requested-With:XMLHttpRequest  请求是通过XMLHttpRequest对象发送的  2.修改默认请求头:  (1)全局修改(整个模块)    使用$httpProvider依赖varmyApp=angular.module('MyApp',[]);myApp.config(function($httpProvider){console.log($httpProvider.defaults.headers.common)//修改/操作$httpProvider.defaults.headers.common对象的属性以改变$http的默认请求头配置})    *...

angular学习笔记(二十三)-$http(1)-api

之前说到的$http.get和$http.post,都是基于$http的快捷方式.下面来说说完整的$http:$http(config)$http接受一个json格式的参数config:config的格式如下:{  method:字符串,  url:字符串,  params:json对象,  data:请求数据,  headers:请求头,  transformRequest:函数,转换post请求的数据的格式,  transformResponse:函数,转换响应到的数据的格式,  cache:布尔值,  timeout:数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误  withCredentials:布尔值} 1.method:(必填) 请求的方法,字符串格式,'post','get','head','delete','put','jsonp' (其中head方法和get请求方式一致,但是head方法没有响应体,只有响应状态码,用于检测该url是否可以获得get请求)2.url:(必填) 请求的路径,字符串格式3.p...

angular学习笔记(二十二)-$http.post

基本语法:$http.post('url',{},{}).success(function(data,status,headers,config){}).error(function(data,status,headers,config){})$http.post接受三个参数:1.url:请求的路径2.请求发送的数据:json对象 {name:'code_bunny'}3.请求配置的参数:json对象{params:{id:5}} 这样得到的实际路径就是url?id=5 $http.post返回的对象有两个回调方法:1.success:请求成功的回调2.error:请求失败的回调这两个方法都有四个参数: ①data: 返回的数据(或错误) ②status: 响应的状态码 ③headers: 这样一个函数,具体是什么暂时不详  function(name){if(!headersObj)headersObj=parseHeaders(headers);if(name){retur...

angular学习笔记(二十一)-$http.get

基本语法:$http.get('url',{}).success(function(data,status,headers,config){}).error(function(data,status,headers,config){})$http.get接受两个参数:1.url:请求的路径2.json对象:请求参数配置,如{params:{id:5}}   这样得到的实际路径就是url?id=5$http.get返回的对象有两个回调方法:1.success:请求成功的回调2.error:请求失败的回调这两个方法都有四个参数: ①data: 返回的数据(或错误) ②status: 响应的状态码 ③headers: 这样一个函数,具体是什么暂时不详  function(name){if(!headersObj)headersObj=parseHeaders(headers);if(name){returnheadersObj[lowercase(name)]||null;}retu...

angular -- $route API翻译

$route -$routeProvider服务-依赖ngRoute模块$route能够在路径发生改变的时候,渲染不同的视图,调用不同的控制器.它监测了$location.url(),然后根据路径来匹配相应的路由,路由的定义方法详见$routeProvider的API.$route通常和$routeProvider服务和ngView指令一起使用 依赖:$location$routeParams 方法:reload()在路由没有改变的时候,再次加载当前路径的路由,重新渲染ng-view,实例化一个控制器 事件:$routeChangeStart在路由变化之前被触发,在这个时间点上,路由服务会resolve所有的路由变化所需要的依赖(详见$routeProvider),以及获取需要被渲染的视图模板,已经解析所有加载新路由所需要的依赖.当所有的依赖都被解析以后,$routeChangeSuccess事件就会被触发类型: broadcast目标元素: rootscope(即在根作用域内绑定) $routeChangeSucc...
代码星球 代码星球·2020-04-04

angular -- $routeParams API翻译

原api出处:https://docs.angularjs.org/api/ngRoute/service/$routeParams$routeParams可以获取当前路径参数.需要ngroute模块被安装。路径参数是$location.search()和$location.path()的组合.当$route被匹配的时候,路径参数就会被获取.在参数名称冲突的情况下,路径参数优先于搜索参数。$routeParams服务保证当路由发生变化时,$routeParams对象的id不会变化(但是它的属性很可能会变化)请注意,$routeparams只有当路由完全改变成功后才会更新。这意味着在route的resolve函数里,你不能通过$routeparams获取正确的路径参数。但是,你可以使用$route.current.params访问新路径的参数。 //URL:http://server.com/index.html#/Chapter/1/Section/2?search=moby//路由规则:/Chapter/:chapterId/Section/:sectionId////结果...

angular学习笔记(二十)-表单验证

本篇主要介绍angular中的表单验证:表单验证主要有以下一些内容:1.required指令:相当于html5的required属性,验证不能为空2.ng-maxlength属性:验证内容的长度最大值3.ng-minlength属性:验证内容的长度最小值4.表单名.$valid:这个属性用来获取表单验证的状态,如果所有的验证都通过了,它就是true,只要有一项不通过,它就是false5.ng-disabled属性:判断按钮是否禁用.值为true时,禁用该按钮6.type属性:type="email",type="number",虽然这些都是html5的属性,但是在angular中用法一致,可以兼容不支持html5的浏览器,实现相同的功能下面来看一个简单的表单验证的例子: 在还没有填写任何信息的时候,提交按钮是禁用的,昵称不能为空邮箱需要符合邮箱相关格式年龄在1-3位数之间数字全部通过验证后,提交按钮不禁用.提交成功后,显示成功提示 代码如下:<!DOCTYPEhtml><htmlng-app="FormValidation"id="ng-app"&...

angular学习笔记(十九)-指令修改dom

本篇主要介绍angular使用指令修改DOM:使用angular指令可以自己扩展html语法,还可以做很多自定义的事情.在后面会专门讲解这一块的知识,这一篇只是起到了解入门的作用.与控制器,过滤器,服务,一样,可以通过模块实例的directive的方法来创建指令:varsomeModule=angular.module('SomeModule',[]);someModule.directive('directiveName',function(){   return{     link: function(scope,elements,attrs,controller){     }   }});directive传入两个参数:第一个参数是指令的名字;第二个参数是一个工厂函数:函数返回一个对象,对象的link方法的函数有四个参数:scope:获取外层scope的引用elements:它所存在的DOM元素attrs:传递...

angular学习笔记(十七)-路由和切换视图

本篇介绍angular中如何通过判断url的hash值来显示不同的视图模板,并使用不同的控制器:下面,通过一个例子,来一步一步说明它的用法:我们要做一个邮箱应用,打开的时候显示的是邮件列表:然后点击邮件主题,可以查看该邮件的详细内容:点击返回列表,再回到列表页 一.创建index页面:<!DOCTYPEhtml><html><head><title>14.1路由和视图切换</title><metacharset="utf-8"><scriptsrc="../../angular.js"></script><scriptsrc="controller.js"></script><linktype="text/css"href="style.css"rel="stylesheet"/></head><body><divng-app="A-Mail"><h3>A-Mail</h3><br...

angular学习笔记(十六) -- 过滤器(2)

本篇主要介绍angular自定义的过滤器:直接看例子:<!DOCTYPEhtml><htmlng-app="MyFilter"><head><title>13.2过滤器</title><metacharset="utf-8"><scriptsrc="../angular.js"></script><scriptsrc="script.js"></script><styletype="text/css">*{font-family:'MICROSOFTYAHEI';font-size:12px}</style></head><body><divng-controller="filter"><span>{{title_1|titleCase:1}}</span><br><span>{{title_2|titleCase:2}}</span></di...

angular学习笔记(十六) -- 过滤器(1)

本篇主要介绍过滤器的基本用法:过滤器用来对数据进行格式的转换,数据格式的转化与逻辑无关,因此,我们使用过滤器来进行这些操作:{{expression|filter1:,参数1,参数2...|filter2:参数1,参数2...}}expression:表达式,也就是还没有经过过滤的变量值,相当于普通的{{}}里面的内容filter1:过滤器的名字,可以是angular内置的过滤器,也可以自定义过滤器(在下一篇里讲解)参数1,参数2,...: 需要被传递给过滤器函数的参数,可以有多个过滤器可以通过"|"进行多次过滤 下面来看一些angular内置的过滤器的基本用法:<!DOCTYPEhtml><htmlng-app><head><title>13.1过滤器</title><metacharset="utf-8"><scriptsrc="../angular.js"></script><scriptsrc="script.js"></script>&l...

angular学习笔记(十五)-module里的'服务'

本篇介绍angular中的模块:module在笔记(二)http://www.cnblogs.com/liulangmao/p/3711047.html里已经讲到过模块,这篇主要讲模块的'服务'功能:什么是'服务'呢?看一下下面这个例子:比如一个购物车的应用:functionItemsViewController($scope){//向服务器发起请求//解析响应,获得数据$scope.items=获得的数据;}那么,如果我在其它的控制器里也需要同样的一组数据,那么,我还得在另外的控制器里写一遍一样的代码,用于获取这组数据,这样不利于维护修改,因此,我们就可以把'获取这一段数据'这个功能给封装成一个'服务',这样就可以在多个不同的控制器中使用它.functionItemsViewController($scope,Items){$scope.items=Items.query();}比如这里的Items就是一个被封装好的'服务'.下面来看看如果创建服务:1.首先要创建一个模块:varSomeModule=angular.module('ModuleName',[]) 2.然后通...
首页上一页...387388389390391...下一页尾页