开发者社区> 问答> 正文

jQuery的AJAX提交问题

提交中的内容

按钮

下边是sendMM()

function sendMM(){
        $("#sendMM").click(function(){
                $.ajax({
                    type:"POST",
                    url:"pub.php",
                    data:"content="+$("#contentbox").val(),
                    cache:false,
                    timeout:1000,
                    success:function(msg){
                        if(msg==1){
                            alert("信息发送成功!");
                        }else{
                            alert("发送失败!请重试!");
                        }
                    }
                });
            
        });
        
    }
下边是pub.php

<?php
    require_once('../lib/auto_load.php');
    if(!defined('WB_INC')){
        exit('request error!');
    }
    
    require_once('../lib/islogin.php');
    $user_name=$_SESSION['user_name'];
    $user_id=$_SESSION['user_id'];
    @$content=$_POST['content'];
    $posttime=date("Y-m-d H:i:s",time());
    
    $sql="insert into wb_content(user_id,content_body,posttime) values('$user_id','$content','$posttime')";
    $result=$obj->exec($sql);
    if($result){
        $num=1;
    }else{
        $num=0;
    }
    echo $num;
    
?>

第一次点按钮,没有响应,点第二次时候alert两次“发送成功”,点第三次,alert三次,依次累加,数据库数据也插入这么多次

请达人相助,错在哪里了,也尝试定义了全局变量控制按钮,但是还是无效

展开
收起
a123456678 2016-07-05 10:59:57 2233 0
1 条回答
写回答
取消 提交回答
  • 第一次点击的时候是触发sendMM()方法,执行"$("#sendMM").click(function(){",这只是为"sendMM"绑定function,并不执行里面的语句.

    第二次点击,以我的理解就是,先执行了sendMM()方法,这时候就相当于绑定了两次function,然后又执行了绑定的click事件,所以弹出两次.

    2019-07-17 19:51:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
23-Vue.js在前端...1506518547.pdf 立即下载
Javascript中的函数 立即下载
JavaScript函数 立即下载