0

我正在使用 AJAX 的非常基本的技术将表单保存到使用 AJAX 的数据库中。

但是我遇到了一些麻烦。

我搜索的所有内容都是 jQuery 代码,但我只想用简单的 AJAX 来做这件事。

HTML表格:

<form id="submitcourse" name="submitcourse" method="get">
<p>Course Name: &nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="cvalue" id="cvalue" /></p>
<a href="#" onclick="submitformwithajax();">Successfull</a>

</form>
<span id="result">.</span>

阿贾克斯代码:

<script type="text/javascript">
    function GetXmlHttpObject()
    {
        if(window.XMLHttpRequest)
        {
            return new XMLHttpRequest();

        }
        if(window.ActiveXobject)
        {
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
        return null;

    }
    function submitformwithajax()
    {
        var myAjaxPostrequest=new GetXmlHttpObject();

        var coursename=document.submitcourse.cvalue.value;

        var parameter="cvalue="+coursename;

        myAjaxPostrequest.open("GET", "do.php", true)
        myAjaxPostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        myAjaxPostrequest.send(parameter)
        myAjaxPostrequest.onreadystatechange=function{
            if(myAjaxPostrequest.readyState==4){
                if(myAjaxPostrequest.status==200){
                    document.getElementById("result").innerHTML=myAjaxPostrequest.responseText;
                    document.getElementById("submitcourse").style.display="none";
                }
                else
                document.getElementById("submitcourse").innerHTML="An error has occured making the request";

            }
        }
    }




    </script>

上述 AJAX 代码的目的是将表单详细信息发送到 do.php 文件,我可以在其中处理接收到的数据。

do.php 文件:

<?php
$course=$_REQUEST['cvalue'];
echo "dddd".$course;


?>

现在我无法获取 do.php 文件中的值,请帮帮我,

注意:我有使用 jQuery 执行此操作的代码,但我只想在此方法中执行此操作。因为它是为了向学生教授基本 AJAX。

4

3 回答 3

6

马上我注意到你的函数定义后没有 () ......

myAjaxPostrequest.onreadystatechange=function{

应该

myAjaxPostrequest.onreadystatechange=function(){

让我知道这是否有帮助!

于 2013-03-20T12:26:22.147 回答
1

问题是:您将参数放在 send() 中,这是不正确的,因为您发送 GET 请求,请将代码更改为:

myAjaxPostrequest.open("GET", "do.php?"+parameter, true)
myAjaxPostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
myAjaxPostrequest.send()

使用 Ajax GET,参数应该与 URL 混合,但是,您的代码对于 POST 方法是正确的。

或者如果你想使用 POST

myAjaxPostrequest.open("POST", "do.php", true)
myAjaxPostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
myAjaxPostrequest.send(parameter)
于 2013-03-20T12:43:09.697 回答
0

看看您是否无法改用 getElementsByName

var coursename=document.getElementsByName('cvalue')[0].value;
于 2013-03-20T12:28:24.610 回答