在不使用 jQuery 的情况下使用 $http 发布 URL 编码数据
作为 AngularJS 新手,您正在寻找一种无需使用 jQuery 即可发出 AJAX 请求的方法依赖 jQuery。虽然您最初使用 $.param 的方法有效,但您希望消除 jQuery 依赖项。
您随后对数据和参数的尝试未能产生所需的结果,并且 JSON 字符串化也被证明是不成功的。 AngularJS 当然为此提供了一种方法,所以让我们探索一下解决方案。
转换 URL 参数的数据
通过 POST 发送表单数据的关键是转换你的对象数据到 URL 参数中。 AngularJS 提供了一个transformRequest 函数,允许您在发送之前自定义请求正文。
带有转换的 Post 请求示例
$http({ method: 'POST', url: url, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, transformRequest: function(obj) { var str = []; for(var p in obj) str.push(encodeURIComponent(p) + "=&" + encodeURIComponent(obj[p])); return str.join("&"); }, data: {username: $scope.userName, password: $scope.password} }).then(function () {});
在此示例中:
AngularJS 1.4 及更高版本
AngularJS 1.4 及更高版本引入了新服务来进一步简化此过程。然而,上述方法对于早期版本仍然是有效的解决方案。
以上是如何在没有 jQuery 的情况下在 AngularJS 中发布 URL 编码的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!