繁体   English   中英

jQuery $ .post不适用于第二次单击

[英]JQuery $.post Not working on the second click

感谢您检查以下内容:

我正在做的是读取多个值(例如名称和类)来确定要单击的值,然后将其作为参数发送到服务器上的PHP,以便我可以切换其类和名称值。

这很好用,并在我第一次单击它时切换了类,但是第二次我单击该元素时,它不再起作用。 查看chrome的控制台,我可以看到POST结果成功,但是$ .post回调函数不再运行。

$('a').click(function() {

            if($(this).attr("name")=="Config"){
                return;
            }
            else if ($(this).attr("name")=="Return"){
                return;
            }
            else if ($(this).attr("name")=="Temperatura"){
                return;
            }

            else{



            var parameters = {};                            
                parameters.devicename   =   $(this).attr("name").split('_')[0];
                parameters.devicevalue  =   $(this).attr("name").split('_')[1];
                parameters.devicestate  =   parseInt($(this).html());

                alert (parameters.devicestate);

                var selector;

                if ($(this).hasClass("Luz_On") || $(this).hasClass("Luz_Off")){
                selector = "Luz";   
                $(this).attr('id','ajaxelement');
                alert("entro");
                alert($(this).attr('name'));
                alert(selector);
                alert($(this).attr('id'))
                }
                else if ($(this).hasClass("Cortina_Up") || $(this).hasClass("Cortina_Down")){
                selector = "Cortina";           
                $(this).attr('id','ajaxelement');                   
                }
                else if ($(this).hasClass("Temperatura")){
                selector = "Temperatura";
                $(this).attr('id','ajaxelement');
                }
                else if ($(this).hasClass("Rewind")){
                selector = "Rewind";
                $(this).attr('id','ajaxelement');
                }
                else if ($(this).hasClass("Play")){
                selector = "Play";
                $(this).attr('id','ajaxelement');
                }
                else if ($(this).hasClass("Pause")){
                selector = "Pause";
                $(this).attr('id','ajaxelement');
                }
                else if ($(this).hasClass("Forward")){
                selector = "Forward";
                $(this).attr('id','ajaxelement');
                }

            $.post(

            "http://localhost/AplicacionWeb/test.php", 

            parameters,

            function(data){

            if (data.valid=='true')
            {

                switch(selector)
                {
                    case "Luz":

                        alert("case");

                        if ($('#ajaxelement').attr('name') == "Luz_On"){

                        alert("caseif1");
                        $('#ajaxelement').removeClass("Luz_On").addClass("Luz_Off");
                        $('#ajaxelement').attr('name','Luz_Off');
                        $('#ajaxelement').removeAttr('id');

                        }
                        if ($('#ajaxelement').attr('name') == "Luz_Off"){

                        alert("caseif2");
                        $('#ajaxelement').removeClass("Luz_Off").addClass("Luz_On");
                        $('#ajaxelement').attr('name','Luz_On');
                        $('#ajaxelement').removeAttr('id');

                        }




                    break;

                    case "Cortina":

                    break;

                    case "Temperatura":

                    break;

                    case "Rewind":

                    break;

                    case "Play":

                    break;

                    case "Pause":

                    break;

                    case "Forward":

                    break;

                    default:
                        alert("C'est la vie");
                }




            }//data.valid

            }, 

            "json"

            );

            }



        });  // end click

您配置了发布请求,以期望服务器http://localhost/AplicacionWeb/test.php返回有效的JSON 如果您验证请求已成功返回,则检查数据是否符合指定的dataType 如果响应数据无效,则jQuery ajax请求将不会运行成功/完成回调。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM