javascript - 一个页面中有多个相同的form,分别去发起异步请求,后写的$.ajax方法,数据发送不出去,控制台也没有报错?
PHP中文网
PHP中文网 2017-04-10 16:41:47
[JavaScript讨论组]

如题:
一个页面中有多个相同的form,写了多个$.ajax的方法,input的id都是一样的,分别去发起异步请求,后写的$.ajax方法,数据发送不出去,控制台也没有报错?

页面先加载的ajax方法

function Ajax(obj){
    $.ajax({
       type:"post",
        url:"ajax.asp",
        data:"Nickname="+$('#inputUser').val(),
        beforeSend:function(){
            $('#yhm').append(process_request);
        },
        //用户名检测

        success:function(res){
            if(res>"0"){
                $('#inputUser').attr('class','FramepWarn');
                showInfo("yhm",msg_un_registered);
                change_submit("true");//禁用提交按钮
            }
           if(res=="0"){
               $('#inputUser').attr('class','FramepPass');
               showInfo("yhm",msg_can_rg);
               change_submit("false");//禁用提交按钮
               $("#yhm").attr('class','ts-lg');
           }
        }
    });

};

页面后加载的ajax方法

    //弹窗-异步
function tc_Ajax(obj){
    $.ajax({
       type:"post",
        url:"ajax.asp",
        data:"Nickname="+$('#inputUser').val(),
        beforeSend:function(){
            $('#tc_yhm').append(process_request);
        },
        //用户名检测

        success:function(res){
            if(res>"0"){
                $('#inputUser').attr('class','FramepWarn');
                showInfo("tc_yhm",msg_un_registered);
                change_submit("true");//禁用提交按钮
            }
           if(res=="0"){
               $('#inputUser').attr('class','FramepPass');
               showInfo("tc_yhm",msg_can_rg);
               change_submit("false");//禁用提交按钮
               $("#tc_yhm").attr('class','ts-lg');
           }
        }
    });

};

情况说明:
一个页面有两个注册,一个是在首页上的异步验证是可以用的。一个是点登录弹窗异步验证用的。
通常这种情况,实际开发中是怎么处理,用什么方式去做更合理。(能不能把多个相同的验证整合到一个ajax方法中?)

后加载的ajax方法,查看HTTP,数据并没有发送到服务器端,是什么情况?

先写的ajax方法,数据是可以成功发送到服务器端的,并且返回值也对。

问题:是什么地方引起了冲突了?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
怪我咯

每个form中的input id都是一样的?同样的id肯定冲突啊?

PHP中文网

ID不能有两个相同的,根据你的描述 你看下是不是出现了两个相同ID的input
还有就是像上面说的,你不觉得写两个功能完全一样的函数是浪费代码行么。

高洛峰
两个ID相同的元素并没有什么影响。
题主描述的问题有错误的地方 "数据没有发送出去?"  这是指ajax请求没有发送数据,根据提问者的贴图明显是发送之前就没有取到数据并不是没有发送数据。
"控制台没有报错?" 是前端控制台没有报错还是后台没有报错。前端还少一个error的回调方法,如果进了error那你这根本就没办法回调。
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号