我有一个页面可以通过这样的URL访问:
http://power-coder.net/Test/something.php?id=3#Page1
我知道如何使用$ _GET访问id参数,但有没有办法让我访问#Page1部分?我查看了$ _SERVER数组,REQUEST_URI结束于?id = 3.
我知道我也可以将#Page1更改为&Page = 1这样的附加参数,但是有一些代码使用旧的URL类型,我希望尽可能避免重写.
谢谢您的帮助.
我有一个通过Html.BeginForm()呈现的表单,它作为主页面中的一个组件存在,以便它出现在应用程序的每个页面上.我使用Mvc Futures汇编中的Html.RenderAction()完成了这项工作.这是一个简单的搜索表单,它在搜索表单本身下更新同一组件中的某些项目,并执行GET,以便搜索项出现在查询字符串中.
<div class="sideBarContent">
<h2>Search Products</h2>
<% using (Html.BeginForm(ViewContext.RouteData.Values["action"].ToString(),
ViewContext.RouteData.Values["controller"].ToString(), FormMethod.Get)) { %>
<fieldset>
<legend>Search Products</legend>
<div class="formRow">
<label for="ProductsSearch">Search</label>
<%= Html.TextBox("ProductsSearch") %>
</div>
<input type="submit" value="Search" class="button" />
</fieldset>
<% } %>
<ul>
// Products will eventually be listed here
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要这个表单来执行以下操作:
1)它应该对附加'ProductsSearch'作为查询字符串参数的任何当前页面执行GET(例如:example.com/ ?ProductsSearch= test或example.com/books/fiction?ProductsSearch=test)
2)它应该记住查询字符串中已有的任何现有的查询字符串参数,在单击"搜索"按钮后保留它们.example.com/myOrders?page=2搜索后点击它应该去example.com/myOrders?page=2&ProductsSearch=test)
我可以做到1)但不能解决2).
我通常认为,对于一个from到GET并附加查询字符串params,它需要有隐藏的表单字段,所以我可以编写一个实用程序函数,自动为任何查询字符串值添加一堆隐藏的表单字段,但我想检查是否有isn这是一种更简单的方法,或者我可能会采取错误的方式.
干杯!
我正在寻找的是nginx检测到url具有查询字符串变量cid的能力.
例如www.adomain.com/froggy?cid=12&as=false(查询字符串可以独奏或与其他人混合,cid不一定是查询字符串中的第一个变量)
如果检测到cid,它必须发送一个带有变量tmp_cid的set cookie标头,为它提供从cid查询字符串变量中获取的值.
然后它必须发送301重定向以将用户发送到它所带来的相同URL但没有cid查询字符串变量,因此使用上面的示例url,它将重定向到www.adomain.com/froggy?as=假
我希望这是有道理的.
在请求URL上,我可以获取查询字符串?dir=Documents%20partag%C3%A9s或?dir=Documents%20partag%E9s.我认为第一个是UTF-8,第二个是ASCII.
真正的字符串是: Documents partagés
所以,我有一个PHP脚本(UTF-8),我想要做的是检测查询字符串是ASCII还是UTF-8,如果是ASCII,则将其转换为UTF-8.
我尝试使用mb_函数,但查询字符串始终检测为ASCII,并将查询字符串的urldecode版本检测为UTF-8.
我怎样才能做到这一点?需要注意的是维基百科有一个类似的功能-它本身的编码%E9来%C3%A9.
我在我的Web应用程序中创建了一个表单,该表单只有一个文本字段,并且该字段使用GET发布到PHP页面,但我观察到奇怪的行为.即,当我在本地服务器上测试时,文本是在文本字段中写入时收到的,但是当我将其上传到我的在线服务器时,收到的字符串会自动转义,所有单引号和双引号都会被转义.例如,如果我It's not true...在php方面写,我会得到
$comment = $_REQUEST["comm"];
print $comment;
//will print It\'s not true... on my online server
//will print It's not true... on my local server
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么会如此?是否有自动转义查询字符串变量的PHP设置?
我的代码:
(defn json-response [data & [status]]
{:status (or status 200)
:headers {"Content-Type" "application/json"}
:body (json/generate-string data)})
(defroutes checkin-app-handler
(GET "/:code" [code & more] (json-response {"code" code "params" more})))
Run Code Online (Sandbox Code Playgroud)
当我将文件加载到repl并运行此命令时,params似乎是空白的:
$ (checkin-app-handler {:server-port 8080 :server-name "127.0.0.1" :remote-addr "127.0.0.1" :uri "/123" :query-string "foo=1&bar=2" :scheme :http :headers {} :request-method :get})
> {:status 200, :headers {"Content-Type" "application/json"}, :body "{\"code\":\"123\",\"params\":{}}"}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我需要得到查询字符串,但是params地图总是空的..
我是一个新手,经过广泛的研究和探索,我能够弄清楚以下内容:
要将产品添加到购物车,我可以使用
/ checkout/cart/add?product = 76&qty = 1
申请我可以使用的折扣代码
/ checkout/cart/couponPost?coupon_code = WQ9D-XXXX
它的代码驻留在文件中:
/ public_html/app/code/local/Mage/Checkout/controllers/-
我想在一个链接中添加产品并应用折扣代码,例如:
/ checkout/cart/couponPost?product = 76&qty = 1&coupon_code = WQ9D-XXXX
要么
/ checkout/cart/add?product = 76&qty = 1&coupon_code = WQ9D-XXXX
或任何其他方式?
有没有办法让这个工作?想法是将此链接嵌入到时事通讯中,因此只需点击一下,用户就可以将产品添加到购物车并获得折扣.
我试过呼叫$this->couponPostAction();,function addAction()反之亦然,但它不起作用!
我创建了一个这样的URL查询:
QString normalize(QString text)
{
text.replace("%", "%25");
text.replace("@", "%40");
text.replace("‘", "%27");
text.replace("&", "%26");
text.replace("“", "%22");
text.replace("’", "%27");
text.replace(",", "%2C");
text.replace(" ", "%20");
return text;
}
QString key = "usermail";
QString value = "aemail@gmail.com";
QUrlQuery qurlqr;
qurlqr.addQueryItem(normalize(key), normalize(value));
QString result = qurlqr.toString();
Run Code Online (Sandbox Code Playgroud)
期待的结果是:
usermail=aemail%40gmail.com.
Run Code Online (Sandbox Code Playgroud)
但我收到了:
usermail=aemail@gmail.com
Run Code Online (Sandbox Code Playgroud)
我不知道为什么.你能帮助我吗?
(我在Win7上使用Qt5)
此代码抛出页面查询字符串中未指定的NullReferenceExceptionif mode:
bool isAdvancedMode = Request.QueryString["mode"].Equals("advanced");
Run Code Online (Sandbox Code Playgroud)
这是我解决这个问题的方法:
bool isAdvancedMode = (Request.QueryString["mode"] + "").Equals("advanced");
Run Code Online (Sandbox Code Playgroud)
这是标准做法还是黑客攻击?
我想知道是否可以从此查询字符串中获取值?
'?agencyID=1&agencyID=2&agencyID=3'
Run Code Online (Sandbox Code Playgroud)
为什么我必须使用这样的查询字符串?
我有一个带有10个复选框的表单.我的用户应该向我发送他/她感兴趣的新闻机构的ID.所以查询字符串包含多个具有相同名称的值.新闻机构的总数是可变的,它们是从数据库加载的.
我正在使用Python Tornado来解析查询字符串.