Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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
Javascript 尝试将数据从角度html页面发布到php页面以进行处理和发送电子邮件_Javascript_Php_Angularjs_Contact Form - Fatal编程技术网

Javascript 尝试将数据从角度html页面发布到php页面以进行处理和发送电子邮件

Javascript 尝试将数据从角度html页面发布到php页面以进行处理和发送电子邮件,javascript,php,angularjs,contact-form,Javascript,Php,Angularjs,Contact Form,我在angular上工作了很短时间,我正在尝试获取一个联系人表单,以便在设置为向我们发送邮件的域路由中提交到一个php文件 我已经让php给我们发了邮件,但是angular应用程序中没有任何日期 这是我的密码: angular.module('demoapp')) .controller('ContactCtrl',函数($scope,$http,$templateCache){ var方法='POST'; var url='contact.php'; $scope.code状态=“”; $s

我在angular上工作了很短时间,我正在尝试获取一个联系人表单,以便在设置为向我们发送邮件的域路由中提交到一个php文件

我已经让php给我们发了邮件,但是angular应用程序中没有任何日期

这是我的密码:

angular.module('demoapp'))
.controller('ContactCtrl',函数($scope,$http,$templateCache){
var方法='POST';
var url='contact.php';
$scope.code状态=“”;
$scope.add=函数(){
$http({
方法:方法,,
url:url,
数据:$.param({'data':FormData}),
标题:{'Content-Type':'application/x-www-form-urlencoded'},
缓存:$templateCache
}).
成功(功能(响应){
$scope.code状态=response.data;
}).
错误(功能(响应){
$scope.codeStatus=响应| |“请求失败”;
});
返回false;
};
});

写信给我们
将您的php更新为:

$data = file_get_contents('php://input');
$json = json_decode($data);
$Subject = $json->subject;
$Name = $json->name;
$Email = $json->mail;
$Message = $json->message;

我遇到这个问题是因为我目前正在处理自己的Angular+PHP联系人表单。对我来说,您的代码中有一个突出的地方,那就是完全没有ng声明

ng应用程序、ng控制器和ng模型在html中的位置?如果没有数据绑定,您将无法获取数据。此外,您应该使用ng submit调用控制器中定义的“add”函数,而不是表单操作

<div ng-app="demoapp" class="contact-form-wrapper">
  <h2>Write Us</h2>
  <form name="form" ng-controller="ContactCtrl" ng-submit="form.$valid && add()" method="post" enctype="text/plain" novalidate>
    <input class="formtop" type="text" name="name" placeholder="Name (required)" ng-model="input.name" required>
    <input class="formtop" ng-model="input.email" type="email" name="mail" placeholder="Email (required)" required>
    <input class="formlong" ng-model="input.subject" type="text" name="subject" placeholder="Subject" size="50">
    <textarea class="formarea" ng-model="input.msg" name="message" placeholder="Message" size="50" required></textarea>
    <input class="submit-link" type="submit" value="Send">
  </form>
</div>

写信给我们

至于PHP的东西,我不是很确定。但是你的角度代码肯定是乱七八糟的。

我已经听过很多了。使用$\u POST变量不起作用。与如何发布数据有关。尝试获取文件内容('php://input'). 之后你可能需要对json进行解码。不幸的是,我对json非常不熟悉。您能详细说明一下吗?我可以在php代码中使用$\u GET来修复表单,但我对您的方法非常好奇。我用你的代码更新了我的PHP,并尝试了method=“post”和method=“post”,但无法获取数据。还有别的吗?:)