我正在构建一个类似于last.fm/events的事件页面
用户可以使用查询字符串中传递的参数按日期,类别等过滤事件
我的问题是,构建代码(查询,循环)的最佳方法是什么,以允许这些不同的查询类型,并可能将它们组合起来(例如按日期和类别过滤)
我正在寻找如何制作这种类型页面的实用示例/参考(可以使用查询字符串过滤的结果集).
我有一个a=2&b=3由serialize()jQuery 创建的查询字符串.如何获得a和b使用Python函数?
我是编程中的总菜鸟,所以请耐心等待我.我的问题对你来说可能看起来很愚蠢.
我这里有一个查询字符串:
HTTP://本地主机/运动/ php_js/exer_test/year_list = 1994年和EVENT_LIST =歌唱大赛+&btn_show =显示
我认为这&btn_show=Show与submit元素的值有关.有没有办法可以在查询字符串或URL中删除或隐藏它?
index.php
<?php include('functions.php'); ?>
<html>
<head>
<script type="text/javascript" src="myscripts.js"></script>
</head>
<body>
<div>
<form name="myform" >
Select Year: <?php echo hspacer(1); ?>
<select id="year_list" name="year_list" >
<?php
for($year = (date('Y') - 100); $year <= (date('Y') + 100); $year++ ) {
if ($year == date('Y')) echo "<option value='$year' name='$year' selected='' >" . $year . "</option>";
else echo "<option value='$year' name='$year' >" . $year . "</option>";
}
?>
</select>
<?php echo hspacer(5); …Run Code Online (Sandbox Code Playgroud) 我想将所有来自后页的查询字符串捕获到一个字符串中并作为Response.Redirect("myPage.aspx?ALL Query String Goes Here")抛出.
我该怎么做?谢谢!
我有一个小问题,操纵当前的URL查询字符串,以在最后添加一个额外的参数.
例如,假设有一个产品的类别布局,URL将是:
index.php?category=3&type=5
Run Code Online (Sandbox Code Playgroud)
现在,在该页面上,我有一个表格或网格布局的链接.在我目前拥有的那些网址中:
<a href="index.php?<?php echo preg_replace($array,'',$_SERVER['QUERY_STRING']); ?>&layout=grid" ...
Run Code Online (Sandbox Code Playgroud)
然后,我也为表做同样的事情href.我的数组中也有:
$array = array ( '/&layout=table/', '/&layout=grid/' )
Run Code Online (Sandbox Code Playgroud)
这是正确的方法,还是有更好的方法来做到这一点?我问,因为没有preg_replace,它会在layout每次点击时继续添加相同的参数,所以它也会显示上一个参数,然后是下一个参数,然后是下一个..而不删除前面的layout参数.
任何有关这方面的见解将非常感激.
编辑:感谢下面的答案,我创建了一个小功能:
function buildQuery($key,$value) {
$params = $_GET;
$params[$key] = $value;
return http_build_query($params);
}
Run Code Online (Sandbox Code Playgroud)
那么它唯一的问题是:
<a href="index.php?<?php echo buildQuery('layout','grid'); ?>">grid</a>
Run Code Online (Sandbox Code Playgroud)
这可能看起来毫无意义,但我希望我的视图/模板文件没有额外的设置变量.我是一个干净的怪物.我甚至可能会返回'index.php?' 有它,所以我可以更懒,反正现在玩的东西:) ..
MVC3中的默认模板在登录页面的查询字符串中设置"returnurl"变量.然后该页面回发给控制器
@using (Html.BeginForm()) {
Run Code Online (Sandbox Code Playgroud)
然后在控制器中拾取它就像这样
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
Run Code Online (Sandbox Code Playgroud)
我想在表单中添加一个CSS类,所以我将帮助器更改为:
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "form-horizontal" }))
Run Code Online (Sandbox Code Playgroud)
但现在查询字符串中的信息未在控制器中设置.
我总是可以在表单中为retrunurl设置一个隐藏的输入值,但我不知道是否有更简单的方法.
谢谢
"附加一个已包含在上一个网址中的附件的网址?" 这是最混乱的标题 - 我知道.但我想不出更好的解释方法.
也许下面的例子会有所帮助.
我有网址1: http://example.com/?value=xyz&stuff=abc
如果有人点击页面中的链接,我可以传递附加值吗?
即: http://www.example.org/?value=xyz&stuff=abc
谢谢,抱歉这样的菜鸟.
我正在尝试在我的网址中显示最后一个变量名称并使用它来确定我页面上显示的内容.例如,这是我的网址:
http://mysite.php/catalog/?department=123&category=456&sub_category=789
如果URL显示a,sub_category那么我想显示所有被视为子类别的内容.但是,如果网址只显示:
http://mysite.php/catalog/?department=123&category=456
然后我想显示仅与类别相关的内容.
一旦我得到最后一个varibale名称,我将使用switch语句来显示内容.我一直在使用这个代码,但它只获得第一个变量名而不是最后一个?
switch(key($_GET))
{
case 'department':
print('show department');
break;
case 'category':
print('show category');
break;
case 'sub_category':
print('show sub_category');
break;
}
Run Code Online (Sandbox Code Playgroud)
也许这不是最好的方法,如果你有一个比使用switch语句更好的方法让我知道;)
我们使用查询字符串中包含大量数据的HTTP GET请求来表示要检索的集合的所有ID。
关于网址中查询字符串长度的限制,谷歌快速搜索显示:
RFC 3986也声明没有限制,但是由于DNS限制,主机名限制为255个字符(第2.3.3节)。Microsoft说,Internet Explorer中URL的最大长度为2,083个字符,URL的路径部分最多不超过2,048个字符。2009年5月1日
如果我们不使用IE,我是否应该担心可能超出查询字符串长度的限制?我确定我已经在Node.js Express服务器上看到了超出的限制,特别是当我在GET请求的查询字符串中包含表示图像的base64字符串时。
解决这个问题的好方法是什么?我们应该只使用HTTP POST请求吗?当然,我们不想为了避免此问题而将1个GET请求分解为1000个。
为公司网站制作一个有角度的入职页面。人们将通过欢迎电子邮件中的链接导航到页面,该电子邮件将包含用户特定的令牌。我需要从url查询字符串中获取此令牌,并将其用于身份验证的所有ajax调用中。我的问题是读取查询字符串。
角版本为4.2.4
我已经通过对文档的页面梳理“@角/通用”位置,LocationStrategy,PathLocationStrategy并复制粘贴的进口,并将它们添加到供应商,我得到错误错误后错误之后。我找不到在任何位置导入位置并使用它来从页面url获取查询字符串的简单示例。如果这是javascript,那是几行简单的代码。为什么这么难?任何帮助将不胜感激!
我试过的
app.module.ts
import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';
providers: [Location, {provide: LocationStrategy, useClass: PathLocationStrategy}],
Run Code Online (Sandbox Code Playgroud)
page.services.ts
constructor(private location: Location) {
console.log('location: ', location);
}
Run Code Online (Sandbox Code Playgroud)