繁体   English   中英

如何使用AJAX将信息发送到PHP脚本?

[英]How to send info to a PHP script with AJAX?

我无法运行简单的ajax脚本。 代码应该很简单。 Ajax脚本是:

<html>

<head><title>Testing ajax</title>

    <script type="text/javascript">

        function ajax() {

            var xmlhttp;

            var fname=document.getElementById("fname").value;

            if(window.XMLHttpRequest) {
                xmlhttp=new XMLHttpRequest();
            } else {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            xmlhttp.onreadystatechange=function() {

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

                    document.getElementById("output").innerHTML=xmlhttp.responseText;

                }

            }

            xmlhttp.open("GET","ajax.php?fname="+fname,true);
            xmlhttp.send();

        }

    </script>

</head>

<body>


    <form>

        <input type="text" id="fname">

        <input type="text" id="lname">

        <input type="submit" id="submit" onclick="ajax()">


    </form>


    <div id="output"></div>


</body>

而PHP脚本是:

<?php

$fname=$_GET['fname'];

echo "<p>Hello ".$fname."</p>";

?>

我也尝试过:

xmlhttp.open("POST","ajax.php",true);
xmlhttp.setRequestHeader("Content-type","application/pass-data");
xmlhttp.send("fname="+fname);

我无法获得发布信息的方法。 我看不到简单的东西吗?

它不起作用的原因是由于您将输入放在<form>标记内。 删除表单标记后,当我尝试将您的代码的<input type="submit" />控件更改为

<input type="button" onClick="ajax()" value="Submit" />

它就像一个魅力。 我怀疑由于提交时的某些好处,安全问题等,表单行为的处理方式有所不同。

将输入类型从提交更改为按钮

输入type =“ button” onclick = ...

因为当您单击按钮时,如果type =“ submit”,它将立即提交页面。

暂无
暂无

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

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