如何在直接地址栏不编码的情况下在查询字符串中传递 url(包括“&”运算符)?
Posted
技术标签:
【中文标题】如何在直接地址栏不编码的情况下在查询字符串中传递 url(包括“&”运算符)?【英文标题】:How to pass url(include '&' operator) in query string without encode at direct address bar? 【发布时间】:2017-07-23 04:23:26 【问题描述】:我用的是laravel框架。
如何在写直接地址栏时在查询字符串中传递url(包括'&'运算符)?
像这样:(无编码)
https://test.com/test?q=test&url=http://ddd.com?dd=dd&aa=aa&cc=cc
我想要下面代码中的结果查询参数
['q' => test, 'url' => 'http://ddd.com?dd=dd&aa=aa&cc=cc']
我该怎么办?
【问题讨论】:
是路由吗?还是只是一个特定的网址? 是的,它是一个路由 url 我强烈鼓励你做编码它 - 即使你让它创建一个返回到你自己的路由的 url 而不编码它,我不知道 Laravel 有多好会将其作为真正的路线处理...是否有理由为什么不应该对其进行编码? 我不应该对其进行编码。使用该 url 的用户不知道编码的概念。 【参考方案1】:由于 Laravel 会尝试从字符串中删除 http://
,因此您可以尝试像这样添加 url。
url('/my-url', [
'q' => 'test',
]) . 'url?=http://..../';
// or
route('my.route.get', [
'q' => 'test',
]) . 'url?=http://..../';
【讨论】:
不适合我真正的响应结果是 ['q'=>'test', 'url'=>'ddd.com?dd=dd' , 'aa' =>'aa' , 'cc' = >“抄送”] @KwanUngPark 请立即检查。这是你能做的最好的事情,因为 laravel 从并发字符串中删除了 http://。 这是一种无需处理代码直接输入地址栏的方法。这种方式是不正确的。【参考方案2】:假设您的路线如下所示:
Route::get('/id, array('as' => 'test.route', function($id)
return $id;
));
您会在视图中生成这样的链接
<a href=" route('test.route', array('id' => 1, 'something' => 'here', 'another' => 'there')) ">click here</a>
你的网址应该是这样的:
http://localhost:8000/1?something=here&another=there
more
【讨论】:
以上是关于如何在直接地址栏不编码的情况下在查询字符串中传递 url(包括“&”运算符)?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有来自脚本的 Internet 连接的情况下在 Python 中转发地理编码?
如何在没有查询的情况下在 Retrofit 中提取 Json 数据
如何在没有百分比编码的情况下在 Swift URL 中包含重音字符?
如何在没有附加查询的情况下在 SQL Server 中连接没有子查询的 GROUP BY 子句中的字符串?