当前位置: 首页 > 知识库问答 >
问题:

如何在没有jQuery的情况下使用$HTTP发布urlencoded表单数据?

罗智刚
2023-03-14
$http({
    method: "post",
    url: URL,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    data: $.param({username: $scope.userName, password: $scope.password})
}).success(function(result){
    console.log(result);
});
data: {username: $scope.userName, password: $scope.password}
params: {username: $scope.userName, password: $scope.password}
data: JSON.stringify({username: $scope.userName, password: $scope.password})

我找到了这些可能的答案,但没有成功。我做错什么了吗?我确信AngularJS会提供这个功能,但是如何提供呢?

共有1个答案

丁景山
2023-03-14

我认为您需要做的是将数据从对象转换为url参数,而不是JSON字符串。

从本·纳德尔的博客上。

默认情况下,$HTTP服务将通过将数据序列化为JSON来转换传出请求,然后使用内容类型“application/JSON”将其发布。当我们希望将值作为表单post发布时,我们需要更改序列化算法,并使用content-type“application/x-www-form-urlencoded”发布数据。

$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 () {});
    null
 类似资料:
  • 问题内容: 我是AngularJS的新手,一开始,我想只使用AngularJS开发一个新的应用程序。 我正在尝试使用Angular应用程序向服务器端进行AJAX调用。 为了发送参数,我尝试了以下操作: 这是可行的,但在上也使用jQuery 。为了消除对jQuery的依赖,我尝试: 但这似乎失败了。然后我尝试了: 但这似乎也失败了。然后我尝试了: 我找到了这些可能的答案,但未成功。难道我做错了什么?

  • 问题内容: 我正在尝试不使用AJAX将数据发布到REST api。我想以JSON格式发送数据。我有以下代码,但一直试图找出如何转换输入字段并将其发布到服务器。这是我的代码尝试: 问题答案: 您可以使用json值添加一个隐藏的输入字段,如下所示- 您可以使用参数( 隐藏输入的名称 )访问json

  • 我想使用POST动词在带有flask restplus的VM上执行操作,但当没有主体时,它总是导致400。 结果是400{“消息”:“浏览器(或代理)发送了一个此服务器无法理解的请求。” 如果我只是简单地从post转换为get,它就可以正常工作。但是,我真的想使用POST动词,因为这是我需要遵循的标准动词,用于自定义非CRUD操作。我有没有用flask restplus把自己画到角落里? 注意:对

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?

  • 问题内容: 我在整个应用程序中都使用spring 。现在,我也想为一个没有的创建一个。那有可能吗? 问题答案: JPA要求每个实体都有一个ID。因此,不可以,没有ID的实体是不允许的。 每个JPA实体都必须有一个主键。 从JPA规范 您可能想从这里阅读更多有关JPA如何处理数据库端没有ID的情况的信息(请参阅“无主键”)。