Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在localhost将angular2中的post值捕获到我的php文件中_Php_Angular - Fatal编程技术网

如何在localhost将angular2中的post值捕获到我的php文件中

如何在localhost将angular2中的post值捕获到我的php文件中,php,angular,Php,Angular,当我使用ng服务器的服务将值从angular2发布到本地主机XAMPP服务器,并尝试使用$\u post或$\u请求捕获值,但它显示的是空数组 这是我的服务代码: const contactData = { full_name:frmValue['name'], email:frmValue['email'], phone:frmValue['phone'], message:frmValue['message'] }; const headers = new

当我使用ng服务器的服务将值从angular2发布到本地主机XAMPP服务器,并尝试使用$\u post或$\u请求捕获值,但它显示的是空数组

这是我的服务代码:

const contactData  =
{
    full_name:frmValue['name'],
    email:frmValue['email'],
    phone:frmValue['phone'],
    message:frmValue['message']
};

const headers = new Headers();
var timestamp = (new Date).getTime();
headers.append('Content-Type','application/json;charset=utf-8');
this.http.post('http://localhost/test/catch_angular_post.php',JSON.stringify(contactData),headers).subscribe(()=>console.log('Success'),err=>console.log(err));
下面是我的PHP代码:

<?php
    header("Access-Control-Allow-Origin","*");
    print_r($_REQUEST);
    print_r($_POST);
?>  


有人能帮我吗

如果从angular2发布成功,只需在php文件中尝试以下代码:

<?php 
    $value = json_decode(file_get_contents('php://input')); 
    print_r($value);
?>

如果angular2发布成功,只需在php文件中尝试以下代码:

<?php 
    $value = json_decode(file_get_contents('php://input')); 
    print_r($value);
?>

首先,它不是数组,而是您要发送的对象。我认为您的问题在于分配要发送到后端的值时

因为您似乎正在使用一个表单并从中赋值。您访问值的方式是从传递给submit的值中提取值,或者通过以下方式:

this.frmValue.get('name').value
但如果您有submit,您可以使用以下值:

submit(value) { // here you pass `frmValue.value` when you submit form
  console.log(value.name)
}

因此,请检查您是否确实正在向后端发送值

首先,它不是数组,而是要发送的对象。我认为您的问题在于分配要发送到后端的值时

因为您似乎正在使用一个表单并从中赋值。您访问值的方式是从传递给submit的值中提取值,或者通过以下方式:

this.frmValue.get('name').value
但如果您有submit,您可以使用以下值:

submit(value) { // here you pass `frmValue.value` when you submit form
  console.log(value.name)
}

因此,请检查您是否确实正在向后端发送值

fisr在类似php的打印中解码json(json解码($POST,true);fisr在类似php的打印中解码json(json解码($POST,true);