我正在尝试使用Ajax提交表单,这是我的简化代码我的索引:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
        <script>
            $(document).ready(function(){
                $("#addemail").click(function(){
                    var email=$("#email").val();
                    $.ajax({
                        type: "POST",
                        url: "addemail.php",
                        data: "email="+email,
                        success: console.log("success!"), 
                        error: console.log("error!") 
                    });        
                }); 
            });
        </script>
    </head>
    <body>
        <div id="wrapper">
        <h2>Email:</h2>
          <form action="" method="post">
               <table>
                  <tr>
                      <td><label>Années:</label></td>
                      <td><input type="text" id="email" name="email" /></td>
                      <td><input type="submit" id="addemail" value="Ajouter" /></td>
                  </tr>  
              </table>                   
          </form>   
        </div>
    </body>
</html>

而这里我的PHP文件

<?php
    $connection =  mysql_connect('localhost', 'XXX', 'XXX');
    $db=  mysql_select_db('mydb', $connection);
    $email= $_POST["email"];
    $query  = 'INSERT INTO users(email) VALUES ("'.mysql_real_escape_string($email).'")';
    mysql_query($query);

?>

我的问题是它不起作用...但是,如果我在ajax工作之后放置一个断点,它会在db But中写好电子邮件,然后我将创建两个控制台日志(成功!和错误!)...同样如果我将action =“ addemail.php”添加到表单中,它将不会执行Ajax并转到php页面(此位置为空白,但在db中写得很好...)

有人帮我吗?

===============>>#1 票数:3 已采纳

这是错误的:

success: console.log("success!"),

这样一来,您正在执行的日志呼叫马上 ,并指派其结果success

您想要创建两个匿名函数,这些匿名函数将在事件发生时执行:

success: function() { console.log("success!"); },
error: function() { console.log("error!"); },

===============>>#2 票数:1

成功和错误需要包装为函数:

success: function (data, textStatus, jqXHR) { console.log("success!") }, 
error: function (jqXHR, textStatus, errorThrown) { console.log("error!") }

===============>>#3 票数:0

$.ajax({})您需要输入

return false;

否则,即使ajax成功,它也会继续执行并转到php页面。

  ask by blop translate from so

未解决问题?本站智能推荐:

1回复

Codeigniter上的Ajax表单出现问题

每次我测试电子邮件是否正确发送。 (我已经在PC中测试过:IE6,IE7,IE8,Safari,Firefox,Chrome。MAC:Safari,Firefox,Chrome。) 但是我一直从客户那里收到这样的电子邮件: CONTACT_FORM.PHP 功能环境(
1回复

Ajax表单提交问题

我有一个简单的表单,试图通过ajax提交。 我在Jquery中加载并得到以下简单形式: 然后,我有以下代码通过ajax提交表单: 知道为什么,但是ajax提交不起作用,而只是对当前URL的POST。
2回复

Codeigniter上的jquery ajax表单问题

我每次测试时都会正确发送电子邮件。 (我在PC上测试过:IE6,IE7,IE8,Safari,Firefox,Chrome.MAC:Safari,Firefox,Chrome。) _POST在jquery(javascript)中完成。 然后,当我在浏览器中关闭javascript时,
1回复

jQuery表单提交AJAX问题

我显然在jQuery,表单提交和AJAX中缺少某些东西。 PHP后端和JSON编码可以正常工作。 但是,提交表单后,就好像数据提交了两次,并且进入表单的值都为null 。 这是我的脚本:
1回复

Ajax表单发布问题

我正在使用Godaddy表单电子邮件URL从托管页面中的表单发送电子邮件。 表单将字段发布到“ gdform.php”,它发送电子邮件并重定向到我的页面。 发布和重定向时没有任何问题。 由于它再次刷新/加载页面,所以我想用ajax发布表单。 当我使用ajax时,无法收到任何电子邮件。
1回复

Rails表单和AJAX 400错误的请求问题

我试图通过rails form_for提交新的“ tweet”,并使用AJAX进行处理。 我不断遇到400错误的请求问题。 尽管如此,该推文仍在发布,服务器返回200。请帮助? 错误是 在2016-07-10 20:20:21 -0400由TweetsController#c
2回复

将Ajax表单提交到PHP脚本时出现问题

我正在使用jquery序列化发送表单数据,如下所示: 这已成功传递到PHP脚本中,但是我的PHP中出现以下错误。 我的PHP脚本如下: ?> 我不确定这里发生了什么,但似乎序列化的数据未正确访问。 这是我的序列化数据的控制台日志的片段。
1回复

Jquery / PHP ajax表单提交问题

我正在使用以下代码将表单数据发布到php文件中。 然后在我的php文件中,我只是在寻找$ _POST ['field-name']以查看表单的内容是否已发布。 ajax调用返回成功,但是表单中的数据似乎都没有发布到PHP文件中。 我打电话的时候 我什么也没得到。有人在我的Aj
3回复

AJAX,jQuery,Javascript,表单Submit和setTimout()问题

当我单击表单中的输入“添加”时,我想在提交前显示3秒钟的消息。 我真的不明白为什么我的代码不起作用。 当我单击“添加”时,将添加用户,并且我会立即重定向到我的其他页面。 没有消息出现,并且没有3秒的延迟。 有谁能够帮助我? $('.form').submit(fu
2回复

jQuery Ajax表单,跨域Firefox问题

我的以下表单在Chrome中可以正常运行,但在Firefox中似乎不起作用。 一些Google搜索已通知我这是一个跨域问题。 我不知道该如何解决? 另外,我确实尝试将其发送到本地php文件,该文件将使用变量重定向到跨域URL,但这似乎也没有用。 任何帮助将非常感激!