1

我有以下ajax调用:

$( document ).ready(function() {
          $( "#fform" ).submit(function( event ) {
          //alert( "Handler for .submit() called." );
          event.preventDefault();
              $.ajax({
              type: "POST",
              url: "apply.php",
              data: "email="+$("#emaill").val()
            })
              .done(function( msg ) {
                alert( "Data Saved: " + msg );
              }).fail(function()  {
                    alert("Sorry. Server unavailable. ");
                });
            });
    });

在 apply.php 中:

$con=mysqli_connect("some_server","some_usename","some_pass","some_db");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$r=mysqli_query($con,"INSERT INTO some_table (email, join_date) VALUES ('".$_POST['email']."', CURDATE() )");

 if($r)
{
echo 'true';
 }
else
{
echo 'false';
}

mysqli_close($con);

奇怪的是,我在数据库中收到了电子邮件,但没有收到任何警报!请帮忙!

更新:

表格:

<form  method="POST" id="fform" >
            <fieldset class="clearfixx" style="width: 552px; height: 40px;">
                <div class="lp-pom-form-field clearfixx" style="width: 552px; height: 42px; top: 0px;">
                    <input placeholder="Email Address" type="email" id="emaill" name="email" class="textt" style="top: 0px; left: 58px; width: 520px; font-size: 15px; height: 38px; padding-left: 11px; padding-right: 11px; lineheight: 15px;" required>
                </div>
            </fieldset>
            <input type="submit" class="lp-element lp-pom-button" id="lp-pom-button-25" value="Submit dude"/>
        </form>

单击提交按钮后,我在 DB 上获取数据,但没有收到任何警报。谢谢

更新 2:

错误:未捕获的类型错误:对象#没有方法“完成”

解决了

我使用的是旧版本的 JQuery 谢谢大家

4

2 回答 2

0

好吧,只有提交表单#fform 时,ajax 函数才会起作用。

在您的表单中放置一个提交按钮:

<input type="submit" value="submit" />

点击提交按钮应该触发你的功能

http://jsfiddle.net/Ashkanvb/4HpG5/

于 2013-11-01T22:03:18.323 回答
0

你的 jQuery AJAX 调用有一点错误,试试这个:

$.ajax({
         type: "POST",
         url: "apply.php",
         data: "email="+$("#emaill").val()
      }).done(function( msg ) {
         alert( "Data Saved: " + msg );
      }).fail(function()  {
         alert("Sorry. Server unavailable. ");
      });

我建议您使用诸如 firebug 或 chrome 开发工具之类的调试工具,它们可以轻松检测到此类语法错误。

于 2013-11-01T22:03:22.617 回答