Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在HTML表单中生成get URL?_Html_Forms_Get - Fatal编程技术网

如何在HTML表单中生成get URL?

如何在HTML表单中生成get URL?,html,forms,get,Html,Forms,Get,我一直在阅读有关提交表单数据的get方法的文章 因此,表单中的数据被附加到表单的操作属性值中,并使用?作为分隔符 我不明白的是,我如何能够正确预测表单提交的URL是什么 我的意思是,假设一个表单如下所示: <form method="get" action="foobar.com/search"> User Name : <input type="text" name="uname"></input><br/> Name : <inp

我一直在阅读有关提交表单数据的
get
方法的文章

因此,表单中的数据被附加到表单的
操作
属性值中,并使用
作为分隔符

我不明白的是,我如何能够正确预测表单提交的URL是什么

我的意思是,假设一个表单如下所示:

<form method="get" action="foobar.com/search">
  User Name : <input type="text" name="uname"></input><br/>
  Name : <input type="text" name="name"></input><br/>
  <input type="submit" value="Submit"></input>
</form>

用户名:
名称:
单击提交按钮时,生成的URL是什么? 它应该是:
foobar.com/search?[数据在这里编码]

但什么协议定义了它的编码方式?该名称可能位于用户名之前或之后

是否可以编写一个脚本,为任何表单创建模板URL,以便在用字符串数据替换相应的
%s
时创建正确的URL


谢谢。

参数的顺序完全没有区别,因为它是一个关联数组


也就是说,我相当肯定所有浏览器都会按照变量在源代码中出现的顺序发送变量。因此,在您的情况下,它将是
?uname=[input]&name=[input]
给定一个
应用程序/x-www-form-urlencoded
编码(默认)和GET的使用,简言之,该过程是:

对于每个控件,如果它是一个成功的控件,则按照它们在窗体中出现的顺序:

  • 如果不是第一项,请添加
    &
  • URL编码字段的名称
  • 添加一个
    =
  • URL对字段的值进行编码
  • 构建表单数据提交的完整过程是(特别是在中)

    是否可以编写脚本为任何表单创建模板URL,以便在用字符串数据替换相应的%s时,创建正确的URL


    由于在提交表单之前,不可能总是预测哪些控件会成功,因此请注意,查询字符串(名称/值对)是在GET请求的URL中发送的:/test/demo_form.asp?name1=value1&name2=value2
    。因此,在您的情况下,如果您分别在这两个字段中输入
    learner
    ,那么它将是
    foobar.com/search?uname=learner&name=350
    。顺便说一句,这是错误的标记<代码>
    是正确的。它不是关联数组。它是一根绳子。解析器可以从中生成关联数组。给定两个名称相同的值,顺序将非常重要,因为某些解析器会根据数据出现的顺序丢弃数据。成功到底意味着什么?如果控件不是文本字段该怎么办?成功是(更多或更少)未禁用,如果是提交按钮则单击,如果是单选或复选框则选中。不是文本字段的控件仍然有值。啊,谢谢昆汀!有关规格,请参见