通过AJAX将HTML表单发送到PHP服务器

时间:2014-04-01 10:57:37

标签: javascript php html ajax cordova

我正在研究phonegap,基本上就像使用HTML,JS和CSS制作mobileapps跨平台一样。在设备上,我目前在同一文档中有JS和HTML(表单)。

我要做的是将电子邮件和密码传递给我的服务器,然后通过登录处理它。我已经测试了服务器上的登录脚本,它可以处理硬编码数据。所以我猜测从设备发送数据失败的某个地方......我对JS也很新。

我试图在AJAX中对数据进行硬编码,但它似乎没有用。我希望使用var pdata = $('#form')。serialize();如果它更好的话还有别的东西。

有什么想法吗?

编辑:忘记说服务器上的PHP在设置$ _POST时使用JS自动提交(isset)

表格

<form id="form" onsubmit="dologin()">
    <div class="form-group">
        <label for="email">Epost</label>
        <input type="email" class="form-control" name="email" value="" placeholder="Epost">
    </div>
    <div class="form-group">    
        <label for="password">Passord</label>
        <input type="password" class="form-control" name="password" value="" placeholder="Passord">
    </div>
    <div class="checkbox">
        <label>
        <input type="checkbox" name="remember_me">
        Husk meg
        </label>
    </div>
        <button type="submit" class="btn btn-primary">Logg inn</button>
</form>

javascript

<script>
        function dologin() {
            //var pdata = $('#form').serialize();
            //alert(pdata);

            $.ajax({
                type: 'POST',
                data: {email:"test@test.no",password:"test"},
                url: 'LINK',
                success: function(data) {
                    alert(data);
                },
                error: function() {                 
                    alert("error");
                } 
            });
            return false;
        };
</script>

PHP

<form id="form" method="post">
    <!-- {{ Form::label('email', 'Email Address') }} -->
    <div class="form-group">
            <input type="text" name="email" value="<?php if(isset($_POST["email"])) echo $_POST['email'];?>">
    </div>

    <div class="form-group">
        <!-- {{ Form::label('password', 'Password') }} -->
        <input type="text" name="password" value="<?php if(isset($_POST["password"])) echo $_POST['password'];?>">
    </div>
</form>

2 个答案:

答案 0 :(得分:0)

您是否可以通过phonegap点击服务器? 如果没有,请检查config.xml中的白名单网址 - 将访问控制属性更改为

访问origin =&#34; *&#34;

希望你能用数据打你的服务器。

答案 1 :(得分:0)

您可以使用weinre调试您的应用。这样,您就可以看到请求是否来自应用程序。 http://people.apache.org/~pmuellr/weinre/docs/latest/Home.html