插入数据时如何解决xmlhttprequest函数问题

时间:2019-05-01 20:46:58

标签: javascript php html ajax xmlhttprequest

仅当我添加以下代码时,我的代码才有效:

document.write(str);

这将打开一个新页面并写入其中,将数据插入数据库

但是如果我尝试不使用它的代码,则如下:

    function addcourse2(str,cn)
{
    xmlhttp=new XMLHttpRequest();
//document.write(str);  
xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState === 4 && xmlhttp.status == 200) { 

                       alert('response:'+xmlhttp.responseText);

            } else {

                       alert('failure!');
            }

};

    xmlhttp.open("GET","tpages/addcourse2.php?q="+str+"&p="+cn,true);

     xmlhttp.send();
}

在这里,我收到警报消息失败,并且没有任何内容插入数据库 我需要对此进行说明并加以解决

2 个答案:

答案 0 :(得分:0)

查看您的评论,我了解页面在状态达到4之前单击按钮后正在刷新,这是防止其刷新的按钮代码

add return false;

resp

答案 1 :(得分:0)

我们尝试描述一下。

注意:当document.write写入文档流时,在关闭的(已加载)文档上调用document.write会自动调用document.open。

https://developer.mozilla.org/en-US/docs/Web/API/Document/write

因此,这个带有d​​ocument.write的AJAX脚本从新页面开始工作,每种情况都调用URL“” tpages / addcourse2.php?q =“ + str +”&p =“ + cn”

如果注释了document.write,则浏览器可能是缓存的URL,而浏览器可能是从缓存读取的,因此不会调用相同的URL。因此,您可以使用唯一的URL字符串并进行测试。

也可能是另一种情况。