天天看點

AngularJS通過post、put送出application/x-www-form-urlencoded的資料

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