默认情况下,AngularJS通过post和put提交的参数是以json形式提交的,
某些情况下需要application/x-www-form-urlencoded形式的数据,就需要在执行http时重写transformRequest。
比如:
<code>$http({</code>
<code> </code><code>method: </code><code>'POST'</code><code>,</code>
<code> </code><code>url: url,</code>
<code> </code><code>headers: {</code><code>'Content-Type'</code><code>: </code><code>'application/x-www-form-urlencoded'</code><code>},</code>
<code> </code><code>transformRequest: </code><code>function</code><code>(obj) { </code>
<code> </code><code>var</code> <code>str = [];</code>
<code> </code><code>for</code><code>(</code><code>var</code> <code>p </code><code>in</code> <code>obj)</code>
<code> </code><code>str.push(encodeURIComponent(p) + </code><code>"="</code> <code>+ encodeURIComponent(obj[p])); </code>
<code> </code><code>return</code> <code>str.join(</code><code>"&"</code><code>);</code>
<code> </code><code>},</code>
<code> </code><code>data: {</code>
<code> </code><code>username: $scope.userName, </code>
<code> </code><code>password: $scope.password</code>
<code> </code><code>}</code>
<code>}).success(</code><code>function</code> <code>() {});</code>
本文转自 iampomelo 51CTO博客,原文链接:http://blog.51cto.com/iampomelo/1873364,如需转载请自行联系原作者