預設情況下,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,如需轉載請自行聯系原作者