【发布时间】:2012-08-24 18:50:54
【问题描述】:
我有一些旧代码通过jQuery's post method 发出 AJAX POST 请求,看起来像这样:
$.post("/foo/bar", requestData,
function(responseData)
{
//do stuff with response
}
requestData 只是一个带有一些基本字符串属性的 javascript 对象。
我正在将我们的东西转移到使用 Angular 的过程中,我想用 $http.post 替换这个调用。我想出了以下几点:
$http.post("/foo/bar", requestData).success(
function(responseData) {
//do stuff with response
}
});
当我这样做时,我收到了来自服务器的 500 错误响应。使用 Firebug,我发现这发送了这样的请求正文:
{"param1":"value1","param2":"value2","param3":"value3"}
成功的jQuery$.post发送body是这样的:
param1=value1¶m2=value2¶m3=value3
我遇到的端点是请求参数而不是 JSON。所以,我的问题是无论如何告诉$http.post 将javascript 对象作为请求参数而不是JSON 发送?是的,我知道我可以自己从对象构造字符串,但我想知道 Angular 是否为此提供了开箱即用的东西。
【问题讨论】:
标签: javascript jquery post angularjs