javascript - Ajax 没有回答我真实的情况

标签 javascript php jquery ajax

这是 html div:

<div class="alert alert-success alert-dismissable feedstatus hidden">
                          <button type="button" class="close" data-dismiss="alert">&times;</button>
                          <span class="glyphicon glyphicon-ok-sign" style="color:#0c0; font-size:40px;"> </span></a><br/>Message recieved.<br/>Thanks <strong class="feedbacker"></strong> 
                        </div>
                        <form role="form" onsubmit="regFeedback()">
                            <div class="form-group">
                                <input class="form-control bordering" id="feedbacker" type="text" name="name" placeholder="Name" style="border:none; border:0px solid #fff;" required/><br>
                                <input class="form-control bordering" id="feedbackemail" type="email" name="email" placeholder="tu@email.com" style="border:none; border:0px solid #fff;"  required/><br>
                                <textarea class="form-control bordering" id="feedback" name="feedback" placeholder="Write me something before go" style="border:none; border:0px solid #fff;"  required/></textarea><br>
                                <button type="submit" class="btn btn-block">Send</button>
                            </div>
                        </form>
                    </div>

另一方面,JavaScript:

function regFeedback() {
var name=document.getElementById('feedbacker').value;
var mail=document.getElementById('feedbackemail').value;
var feed=document.getElementById('feedback').value;
var xmlhttp;
if (window.XMLHttpRequest) {
    xmlhttp=new XMLHttpRequest();
 } else {
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
   xmlhttp.onreadystatechange=function() {
    if (this.readyState==4 && this.status==200) {
        $(document).ready(function() {
           $("form").remove();
           $(".feedstatus").removeClass("hidden");
           $(".feedbacker").text(name);
           alert("Mensaje recibido. Gracias");
       });
   }
   };
    xmlhttp.open("GET","https://page.php?name="+name+"&email="+mail+"&feedback="+feed,true);
   xmlhttp.send();
   }

数据到达数据库,但回调事件验证:“if (this.readyState==4 && this.status==200) {”看起来不起作用。我是这方面的新手,但我做得很好。但是从一个时刻编辑到另一个时刻,出现了问题:/

最佳答案

未经测试,但我认为可以代替

 if (this.readyState==4 && this.status==200) 

将会

if (xmlhttp.readyState==4 && xmlhttp.status==200) 

this 是 javascript 中的关键字,它指的是一个对象;即上下文中的主题,或执行代码的主题

令人惊讶的是,看到document.ready函数位于ajax成功函数内

关于javascript - Ajax 没有回答我真实的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863526/

相关文章:

php - 在支持表格中包含日期、IP 和 HTTP_HOST

php - 如何从按日期存储在数组中的表中获取所有用户?

javascript - jQuery - 删除一个 div 元素

javascript - HammerJS 连续拖动(释放后拖动)

用于更改对象变量的 javascript 事件监听器

javascript - 谷歌脚本循环复制到循环行

PHP json_encode 转 JS

javascript - 在 setInterval 时间中使用 JSON 变量

数据库值中的 PHP 大括号

javascript - 如何延迟部分 View 中脚本的渲染,除非是 ajax?