繁体   English   中英

提交表单数据到服务器端

submit form data to serverside

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

<form ng-submit="doRegister()">
    <div class="control-group">
        <label for="email">E-Mail Address</label>
        <input type="email" id="email" name="email" ng-model="user.email" autofocus>
    </div>
    <div class="control-group">
        <label for="password">Password</label>
        <input type="password" id="password" name="user.password" ng-model="password">
    </div>
    <div class="control-group">
        <label for="password_confirmation">Confirm Password</label>
        <input type="password" id="password_confirmation" name="password_confirmation" ng-model="user.password_confirmation">
    </div>
    <input type="submit">
</form>

如何提交表格以通过POST register 从技术上讲,我不知道可以在哪里放置data

function registerCtrl ($scope, $http) {
    document.title = 'Register';
    $scope.doRegister = function(){
        $http.post('/register', data).
            success(function(data, status, headers, config) {
                console.log(data);
            }).
            error(function(data, status, headers, config) {
                angular.element('.errors').html(data.errors.join('<br>')).slideDown();
            });
    };
}

编辑 :进展:

function registerCtrl ($scope, $http) {
    document.title = 'Register';
    $scope.user = {};
    $scope.doRegister = function(){
        $http.post('/register', $scope.user);
    };
}

但是发送到服务器的请求是一个空数组:

Array()
4 个回复

您已经在表单中绑定了属性。 您可以使用它们定义数据。

例如,对于电子邮件字段:

var data = {};
data.email = $scope.email;

或者甚至可以在控制器中定义$scope.data = {}并将其发布。


编辑9/14

这似乎是人们使用$ http.post()发送表单数据时看到的问题之一。 以下问答中给出了解决方案。

AngularJS-$ http.post是否可以发送请求参数而不是JSON?

您需要声明变量并更改headers如下所示:

function registerCtrl ($scope, $http) {
    document.title = 'Register';
    $scope.user = {
        email: '',
        password: ''
    };
    $scope.doRegister = function(){
        $http({
            url: '/register', 
            data: $scope.user,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            transformRequest: function(obj) {
                var str = [];
                for(var p in obj)
                    str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
                return str.join("&");
            },
        });
    };
}

而你需要

AngularJS的post方法将数据作为请求有效载荷发送。

只需使用:

$json = json_decode(file_get_contents("php://input"));

您可以使用来访问php中的值

$email = $json->email;
$password = $json->password;
$password_confirmation = $json->password_confirmation;
<form id="Register" action="/register">
 <div class="control-group">
        <label for="email">E-Mail Address</label>
        <input type="email" id="email" name="email" ng-model="email" autofocus>
    </div>
    <div class="control-group">
        <label for="password">Password</label>
        <input type="password" id="password" name="password" ng-model="password">
    </div>
    <div class="control-group">
        <label for="password_confirmation">Confirm Password</label>
        <input type="password" id="password_confirmation" name="password_confirmation" ng-model="password_confirmation">
    </div>
    <input type="submit">
</form>

调用ajax函数。

$.ajax({
    url: form.prop('action'),
    type: 'POST',
    data: form.serialize(),
    dataType: 'json',
    async: false,
    success: function (result) {

    }
}); // ajax post end

var form = $("#Register"); 数据传递form.serialize() ,非常容易从服务器端传递数据。

2 无法访问服务器端的表单数据

我正在从前端发出一个put请求,我一直在使用XMLHttpRequest and FormData API请求,但服务器端我不会得到任何数据,如req.params, req.body and req.query都是空的 前端代码 服务器端代码 有一种解决方案是在url中添 ...

3 HTML 表单不向 Laravel 服务器端发送任何数据

我正在尝试使用表单和 Laravel 上传文件。 我的表格: 我的路线如下: 还有我的控制器: 目前,我在按下按钮时收到 419 Page Expired 错误。 我错过了什么? 我已经尝试清除我所有的路由缓存 ...

6 角提交表单数据

我正在使用ng-flow库将图像加载到服务器,并且在用户拖放图像后,我可以将HTML 5文件图像获取到我的控制器,并且需要将其与其他参数(例如币种,主题等)一起下载到服务器。我用谷歌搜索,发现最好的方法是转换为json表单数据并使用POST方法发送。 从服务器收到响应后,我看到表单数据包含主题 ...

7 指定表单提交数据

我需要通过AJAX提交数据,但是只有一个空字符串到达ActivateUser方法。 这是标记 @model String &lt;div class="modal-dialog"&gt; &lt;div class="modal-content"&gt; &lt; ...

8 Django表单未提交数据

需要您的帮助来确定django应用程序中的表单出了什么问题,我的应用程序中有一个选项卡部分,其中包含三个选项卡(课程,练习簿,答案)。工作流程是用户浏览一些课程内容,然后单击一个“锻炼”按钮,该按钮将其带到“工作簿”选项卡。在这里,我有一些问题,可以根据课程选择多项选择题或简单问题,在完成练习后 ...

9 表单提交保存数​​据

我制作了一个表格,其中仅需要5个字段,其他是可选的。 我的表单操作为空,但是onSubmit是这样的: 因此,只要这5个字段中的1个为空,则动作将为index.php?page=pizzaorder如果一切顺利,则动作将为index.php?page=pizza_bestellin ...

10 提交表单数据为JSON

我必须重新创建最初使用Jotform创建的表单-它在这里 。 我在一个地区苦苦挣扎。 这是一个非常简单的表单,唯一的警告是可以从多个条目复制表单字段。 这部分可以在这里看到。 表单重复时,我需要将表单数据提交为JSON数组。 摆弄小提琴,我没有放置常规表单字段,这是它们和克隆的字段需要 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM