【发布时间】:2017-04-30 11:23:55
【问题描述】:
我正在尝试重新创建 Post JSON from angular 2 to php,但它不起作用,因为 php 端的 $_REQUEST 变量中没有任何内容
代码:
searchHttp({body}: any): Promise<any>
{
let headers = new Headers ({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers, method: "post" });
let test_this = {"search": "person"};
return this.http.post(this.post_url, JSON.stringify(test_this), options)
.toPromise()
.then(response =>
{
return response.text();
})
.catch(this.handleError);
}
我有什么遗漏吗?我知道帖子可以使用另一种格式,因为我已经在另一个问题中回答了这个问题。
另外,http.request 比 http.post 好吗?
编辑:
在与 Angular/Javascript 专家多次协商后,他们认为这是一个 php 问题。因此,任何了解如何在 php 端接受 JSON 对象的人都将受到欢迎。
【问题讨论】:
-
你可以去掉请求选项。没用的。您使用的已经是默认设置。我不使用php,但你确定这不仅仅是一个php问题吗?你的角度代码很好。也许你想发布一个 php 问题。
-
不,php 工作正常,因为如果我使用 jquery 的 Ajax,它会按预期返回结果。我从以前的答案(你是其中的一部分)解决了一个问题,请参阅...stackoverflow.com/questions/41135595/…。虽然如果有人有更好的答案,我会留在这里
-
如果你在谈论this jquery,那不是发送 JSON。 jquery 的默认数据类型是 application/x-www-form-urlencded,如果您没有为 JSON 配置它。谷歌如何用 jquery 发送 JSON,然后去做。如果这个角度代码失败,我相信它也会失败。然后谷歌如何用php接受JSON
-
我知道
dataType: 'json'是格式。那是为了我正在测试的其他东西。 -
你接受 php 上的 json
json_decode不?而对于 Ajax 发送 JSON,我想我会在以后谷歌它。
标签: php json angular typescript angular2-http