dan*_*iel 8 php json typescript angular
我尝试将数据从角度2发布到php:
let headers = new Headers();
headers.append('Content-Type', 'application/json');
var order = {'order': this.orders};
this.http.post('http://myserver/processorder.php', JSON.stringify(order), {
headers: headers
}).subscribe(res => {
console.log('post result %o', res);
});
Run Code Online (Sandbox Code Playgroud)
在角度2中,只能将字符串作为数据而不是Json发布?这对我来说没关系,但我很难在php上获取发布的数据.我试过了$obj = $_POST['order'];
Marc B是正确的,但是发生的事情是$ _POST数组将包含一个空值,其中一个键设置为您传递的JSON字符串...
Array
(
[{"order":"foobar"}] =>
)
Run Code Online (Sandbox Code Playgroud)
你可以通过使用密钥来"抓住"(虽然这是错误的方法)
key($_POST)
Run Code Online (Sandbox Code Playgroud)
例如:
$obj = json_decode(key($_POST));
echo $obj->order;
Run Code Online (Sandbox Code Playgroud)
但你可以做的是将数据作为值键对发送:
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
let order = 'order=foobar';
this.http.post('http://myserver/processorder.php', order, {
headers: headers
}).subscribe(res => {
console.log('post result %o', res);
});
Run Code Online (Sandbox Code Playgroud)
然后在PHP中,您可以使用以下方法获取数据:
$_POST['order']
Run Code Online (Sandbox Code Playgroud)
几点注意事项:
小智 5
我不知道这是否是不好的做法,但这对我来说似乎是正确的,尽管它有点困扰我
const headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
const obj = { nome: 'gabriel', age: 20 };
const body = 'data=' + JSON.stringify(obj);
this.http.post('/test.php', body, { headers })
.subscribe(res => console.log(res.json()), res => console.error(res))
Run Code Online (Sandbox Code Playgroud)
并在 PHP 中
$post = json_decode($_POST['data']);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11426 次 |
| 最近记录: |