天天看点

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,如需转载请自行联系原作者