我正在尝试使用jQuery中的$ .ajax()函数调用php文件,但是它不起作用。单击页面上的按钮时,将运行以下代码:
if($error === false) { alert($error); $.ajax({ url: '/new-user.php', type: 'POST', data: { name: $('#name').val(), email: $('#name').val(), password: $('#name').val() } });
这是我的表格:
<form onClick="return false;" class="reg-form"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label for="name">First Name</label> <input type="text" id="name" class="form-control" autofocus="autofocus"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label for="email">Email Address</label> <input type="text" id="email" class="form-control"> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label for="password">Password</label> <input type="password" id="password" class="form-control"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label for="password-confirm">Confirm Password</label> <input type="password" id="password-confirm" class="form-control"> </div> </div> </div> <button class="btn trans reg-btn">Sign Up</button> <div class="reg-msg"> <span id="password-error-msg">Passwords do not match.</span> </div> </form>
我已将表单的onClick设置为返回false,以便表单在提交时不会重新加载页面,从而可以运行jQuery。
任何帮助是极大的赞赏。
人们使用 表格的 主要原因是可以定义一个
动作 (在您的情况下为php脚本),
方法 (GET或POST)和一个
提交 按钮,用于捕获表单中的所有信息,并将其自动发送到服务器。
当您有20-30个输入或正在处理多个文件输入时,这很好。在您的情况下,您正在ajax函数中处理数据检索,没有定义提交按钮,操作或方法,因此您可以通过根本不使用表单来简化事情…。
$.ajax({ url: '/new-user.php', type: 'POST', dataType: "json", data: { name: $('#name').val(), email: $('#email').val(), password: $('#password').val() } }).done(function(data){ alert(JSON.stringify(data)); });
为了简单起见,我省略了格式化divs。
<input type="text" id="name" class="form-control" autofocus="autofocus"> <input type="text" id="email" class="form-control"> <input type="password" id="password" class="form-control">
上面的代码将捕获您输入中的数据,将其发送到php脚本,并在警报中输出从您的php脚本发送回的数据。
最重要的是,您的页面不会刷新!