Jquery 从HTML表单发送两次AJAX调用

Jquery 从HTML表单发送两次AJAX调用,jquery,ajax,Jquery,Ajax,我有一个简单的HTML表单,它链接到一个jQuery函数,该函数将数据发送到PHP脚本。问题是ajax调用被发送了两次。当我看到数据库中有两个相同的条目时,我最初收到了这一警告。我切换到firebug,果然——发送了两个POST请求,两个GET回调都相同。我在stack中查找了一个答案,确实发现了一个看似相同的问题,但该答案建议在函数中使用bind和unbind,但没有明确解释问题存在的原因。我认为隐藏的提交按钮可能是一个问题,但如果我评论这个-同样的问题。有一些风滚草问题与我的非常相似。任何帮

我有一个简单的HTML表单,它链接到一个jQuery函数,该函数将数据发送到PHP脚本。问题是ajax调用被发送了两次。当我看到数据库中有两个相同的条目时,我最初收到了这一警告。我切换到firebug,果然——发送了两个POST请求,两个GET回调都相同。我在stack中查找了一个答案,确实发现了一个看似相同的问题,但该答案建议在函数中使用bind和unbind,但没有明确解释问题存在的原因。我认为隐藏的提交按钮可能是一个问题,但如果我评论这个-同样的问题。有一些风滚草问题与我的非常相似。任何帮助都将不胜感激

HTML表单

          <form action="" method="post">
                  <table>   
                        <tr> 
                            <td>                          
                                <img class="profile_picture_mail" src="../<?php echo grab_thread_thumbnail($id); ?>">
                            </td>
                            <td>  
                            <input id="message_subject" name="subject" type="text" 
                            placeholder="Message subject" size="20"  maxlength="3000" value=""/>
                            </td>
                        </tr>                        
                  </table>
                  <table>
                        <tr> 
                            <td>        
                            <textarea id="message_field" name="message" type="text" placeholder="Message details"></textarea>                               
                            </td>
                        </tr>      
                  </table>
                <input id="submit_message" type="button" name="submit" value="send message" />              
                <input id="profile_id" type="hidden" value="<?php echo $id;?>"/>           
           </form>

编辑:我将submit按钮的id更改为id=“submit\u a\u message”,问题就解决了。我想这意味着我在某个地方有一个额外的具有相同id的提交按钮,尽管在我的一生中我找不到它。如果我对这项工作的原因的假设是错误的,请告诉我。渴望弄清这件事的真相……

也许这可以解决你的问题:。他们说你可以试试

$("#submit_message").unbind('click').bind('click', function () { });

您的消息_box.php返回了什么?它只为我发送了一个请求。将需要更多与此相关的代码来定位问题。我已经取得了一些进展-不确定我是否完全理解这是如何解决问题的,但请参见上文尝试类似于
console.log($(“表单”)
的方法来查找所有表单。希望你能找到你的复制品。
$("#submit_message").unbind('click').bind('click', function () { });