Javascript 为什么在GET提交表单后,此$GET为空,为什么是“a”&引用;在表单提交时附加到URL

Javascript 为什么在GET提交表单后,此$GET为空,为什么是“a”&引用;在表单提交时附加到URL,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,这是一个SSCCE演示我的问题。在页面顶部,将打印$\u GET。首次加载页面时,可以理解将打印一个空数组array() 但是表单的操作属性有一个空值,这意味着页面提交给自己。method的值是GET。因此,表格由GET提交 因此,当GET将表单提交到页面本身时,现在打印在页面顶部的$\u GET数组不能为空。哦,但是它是!这就是问题所在 提交表格时 打印在页面顶部的$\u GET数组为空数组() 将?附加到URL。例如,在提交表单之前,页面的URL是http://localhost/Test/

这是一个SSCCE演示我的问题。在页面顶部,将打印
$\u GET
。首次加载页面时,可以理解将打印一个空数组
array()

但是
表单
操作
属性有一个空值,这意味着页面提交给自己。
method
的值是
GET
。因此,表格由GET提交

因此,当GET将表单提交到页面本身时,现在打印在页面顶部的
$\u GET
数组不能为空。哦,但是它是!这就是问题所在

提交表格时

  • 打印在页面顶部的
    $\u GET
    数组为空<代码>数组()

  • 附加到URL。例如,在提交表单之前,页面的URL是
    http://localhost/Test/index.php
    。提交表单后,页面将重新加载,URL将变为
    http://localhost/Test/index.php?

  • 问题是为什么?我该如何解决这个问题。

    <?php 
    print_r($_GET);//check
    ?>
    
    <!DOCTYPE html>
    
    <html>
    
    <head>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/css/materialize.min.css"/>
        <script src="<script
      src="http://code.jquery.com/jquery-3.2.1.js"
      integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
      crossorigin="anonymous"></script>"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.1/js/materialize.min.js"></script>
    </head>
    
    <body>
        <form action="" method="get">
    
            <div class="input-field">
                <input type="text" id="nameInput" class="validate" />
                <label for="nameInput">Name: </label>
            </div>
    
    
            <button type="submit" class="btn waves-light waves-effect">Submit Form</button>
    
        </form>
    </body>
    
    </html>
    
    
    姓名:
    提交表格
    
    打印在页面顶部的$\u GET数组为空

    这是因为您需要在
    输入
    上提供
    名称
    属性,以便将其添加到请求中发送的密钥/值对数据中:

    <input type="text" id="nameInput" class="validate" name="foo" />
    
    打印在页面顶部的$\u GET数组为空

    这是因为您需要在
    输入
    上提供
    名称
    属性,以便将其添加到请求中发送的密钥/值对数据中:

    <input type="text" id="nameInput" class="validate" name="foo" />
    

    $\u GET为空,因为您的输入没有名称。
    默认情况下,当您通过GET发送表单时,“?”:…

    由于您的输入没有名称,$\u GET为空。
    默认情况下,当您通过GET发送表单时,“?”:…

    您的代码是否存在某种语法错误

    <script src="<script
    src="http://code.jquery.com/jquery-3.2.1.js"
    integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
    crossorigin="anonymous"></script>"></script>
    
    
    

    请先检查语法。

    您的代码是否存在某种语法错误

    <script src="<script
    src="http://code.jquery.com/jquery-3.2.1.js"
    integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
    crossorigin="anonymous"></script>"></script>
    
    
    

    请先检查您的语法。

    输入类型中缺少
    名称属性
    ,您没有用该表单发送任何数据。您需要将
    name
    属性添加到输入元素。name attribe missingadd
    name
    属性添加到
    input
    <代码>?
    由于
    GET
    方法(如果不需要)而添加。使用
    POST
    方法
    Name属性
    输入类型
    中丢失,您没有用该表单发送任何数据。您需要将
    name
    属性添加到输入元素。name attribe missingadd
    name
    属性添加到
    input
    <代码>?由于
    GET
    方法(如果不需要)而添加。使用
    POST
    方法