Http标头的内容类型为application/x-www-form-urlencoded
我必须POST一个字符串值。
environmentId: "predevnet"
在我的上一个项目中,我使用JQuery进行ajax调用:
$.ajax({
headers: this.headers,
type: this.type,
url: this.url,
data: {environmentId: "predevnet"},
dataType: this.dataType,
contentType: this.contentType,
async: isAsync,
success: success,
cache: this.cache,
error: error
});
现在我正试图以角度
进行相同的调用return this.http
.post(this.baseUrl + action, JSON.stringify({environmentId: "predevnet"}), options)
.map(response => response.json() as DcResponse<T>);`
预期结果:表单数据应如下所示:Result Expected
我和JSON.stringify
的结果是这样的:Current results
答案 0 :(得分:0)
如果只想在POST请求的主体中发送一个键值对作为参数,则必须省略关键部分。
因此,如果您希望内容类型为application/x-www-form-urlencoded
,那么您的示例必须是这样的:
return this.http
.post(this.baseUrl + action, '=predevnet', options)
.map(response => response.json() as DcResponse<T>);`
否则,如果您更喜欢application/json
,那么请写下:
return this.http
.post(this.baseUrl + action, '"predevnet"', options)
.map(response => response.json() as DcResponse<T>);`