首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJS -有没有办法让$http.post发送请求参数而不是JSON?

AngularJS -有没有办法让$http.post发送请求参数而不是JSON?
EN

Stack Overflow用户
提问于 2012-08-30 12:59:52
回答 10查看 213.5K关注 0票数 116

我有一些通过jQuery's post method发出AJAX POST请求的旧代码,如下所示:

代码语言:javascript
复制
$.post("/foo/bar", requestData,
    function(responseData)
    {
        //do stuff with response
    }

requestData只是一个带有一些基本字符串属性的javascript对象。

我正在将我们的东西转移到使用Angular的过程中,我想用$http.post替换这个调用。我想出了以下几点:

代码语言:javascript
复制
$http.post("/foo/bar", requestData).success(
    function(responseData) {
        //do stuff with response
    }
});

当我这样做的时候,我从服务器得到了一个500错误响应。使用Firebug时,我发现这会像这样发送请求正文:

代码语言:javascript
复制
{"param1":"value1","param2":"value2","param3":"value3"}

成功的jQuery $.post会像这样发送正文:

代码语言:javascript
复制
param1=value1&param2=value2&param3=value3

我遇到的端点需要的是请求参数,而不是JSON。所以,我的问题是,有没有办法告诉$http.post将javascript对象作为请求参数发送,而不是JSON?是的,我知道我可以自己从对象构造字符串,但我想知道Angular是否提供了开箱即用的功能。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12190166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档