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

标签 php javascript ajax post get

我无法运行我的简单 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" />

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

关于php - 如何使用 AJAX 将信息发送到 PHP 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10867796/

相关文章:

php - 我可以使用XPath或诸如正则表达式之类的东西从XML中提取数据吗?

php - 空合并运算符是否调用一个函数两次?

javascript - 为什么在使用 ajax 调用填充表后不使用 jquery 函数?

javascript - 移动应用的同源政策

asp.net - 单击按钮时获取 asyncfileupload 控件文件名

javascript - 将 html 表格行数据发送到函数

php - 如何检索 xml 数据的子级?

php - 使用 PHP 加载 Javascript

javascript - 在 yeoman angularjs 中使用模拟文件夹进行 karma 测试

javascript - 使用Ajax调用同一页面导致body内容显示两次