URL编码问题%3D而不是(=)
我有一个url,它是从搜索表单中的变量显示的,但是由于url编码,它将“%3d”放在“=”符号上,这显然不起作用 我知道你不能“关闭”url编码,是吗?您不需要将其设置为允许使用特殊字符吗 代码如下:同样,我需要在生成的url中显示下面的=符号,而不是%3dURL编码问题%3D而不是(=),url,encoding,Url,Encoding,我有一个url,它是从搜索表单中的变量显示的,但是由于url编码,它将“%3d”放在“=”符号上,这显然不起作用 我知道你不能“关闭”url编码,是吗?您不需要将其设置为允许使用特殊字符吗 代码如下:同样,我需要在生成的url中显示下面的=符号,而不是%3d <?php _e('Job Type'); ?><br /> <select name="custom_field_id[]=10" class="do_input2"> <opti
<?php _e('Job Type'); ?><br />
<select name="custom_field_id[]=10" class="do_input2">
<option value=""></option>
<option value="custom_field_value_10=Full-time">Full-time</option>
<option value="custom_field_value_10=Part-time">Part-time</option>
</select>
全职的
兼职的
您的意思是希望提交的表单数据如下所示:
custom_field_id[]=10=custom_field_value_10=Full-time
在URL查询字符串中,或者在应用程序/x-www-webform-urlencoded
请求的帖子正文中?如果是这样,那么不,你不能那样做。这违反了URL和应用程序/x-www-webform-urlencoded
规范=
是一个保留分隔符,不能在名称
和值
字段中显示为未编码,它必须是url编码的%3D
:
custom_field_id%5B%5D%3D10=custom_field_value_10%3DFull-time
接收方负责在处理提交的数据之前对其进行url解码。因此,它将看到
custom\u field\u id[]=10
和custom\u field\u value\u 10=Full-time
值,就像它们在原始HTML中显示的那样。下面是一件事。。。我正在使用一个主题,在管理面板中,您可以将某些搜索字段分配给类别,但为了使分配的搜索选项显示在搜索页面上,必须将其设置为“所有类别”,这在网站的另一部分(用户填写初始表单)中没有意义。。。比如说一个房地产帖子。。。我显然不需要“工作类型”来表现。所以,我只把它分配给了工作类别——这只会显示在职位页面上。但是,如上所述,如果未将其分配给所有类别,则选项框不会显示在搜索页面上。如果您这样做,则生成的url将正确显示-custom_field_id[]=10=custom_field_value_10=全职,但我无法将其设置为那样。。。因此,基本上,我只是创建自己的搜索表单,我已经成功地为所有其他类别创建了搜索表单,但是出于某种原因,这个类别被分配了(等号)符号。这就是问题所在。如果我可以将%3D改为等号,那么我就是金色的。我还看到(=)号是保留字符,只要它用于特定的定义目的,就可以使用它。我不知道。。。我会继续修改。这样的URL可能会以未编码的格式显示给用户,但这只是出于显示目的的浏览器行为。大多数不熟悉HTTP工作原理的人不理解URL编码。但是这样的URL必须以我展示的编码格式传输到服务器,浏览器会为您处理。