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/

相关文章:

javascript - 有没有办法通过 Canvas 缩放来避免信箱?

php - 不使用 psr0 和 psr4 自动加载文件的 Composer (symfony 项目)

javascript - 当文件上传到网站时,网站可以看到它上传的文件路径吗?

jquery - 使用输入滑块更改文本颜色的颜色

javascript - 两个紧随其后的肥箭

javascript - 消息:count():参数必须是在codeigniter模型中实现Countable的数组或对象

php - 如何在不进行交互的情况下运行 Doctrine 2迁移命令行?

javascript - Bootstrap表单验证-颜色不变

jquery - 在滚动上运行jQuery数字计数器

javascript - 视频开始/停止时如何调整视频大小?