使用javascript如何在网址中添加查询字符串参数(如果不存在)或是否存在,更新当前值?我正在使用jquery进行客户端开发.
我正在创建一个使用HTTPS的安全的基于Web的API; 但是,如果我允许用户使用查询字符串配置它(包括发送密码)这也是安全的,还是应该通过POST强制它?
Possible Duplicate:
How can I get query string values?
I need to parse the query string www.mysite.com/default.aspx?dest=aboutus.aspx.
How do I get the dest variable in JavaScript?
是否有通过查询字符串传递数组的标准方法?
为了清楚起见,我有一个包含多个值的查询字符串,其中一个值是数组值.我希望将查询字符串值视为数组 - 我不希望数组被展开,以便它与其他查询字符串变量无法区分.
此外,根据这篇帖子的答案,作者建议不定义对数组的查询字符串支持.这准确吗?
编辑:
基于@Alex的回答,没有标准的方法可以做到这一点,所以我的后续工作是什么是一种简单的方法来识别我正在阅读的参数是PHP和Javascript中的数组?
将多个参数命名为同名是否可以接受,这样我知道它们属于一个数组?例:
?myarray=value1&myarray=value2&myarray=value3...
Run Code Online (Sandbox Code Playgroud)
或者这是不好的做法?
从URL查询字符串获取参数的"需要更少代码"的方法是什么,格式如下?
www.mysite.com/category/subcategory?myqueryhash
输出应该是: myqueryhash
我知道这种方法:
www.mysite.com/category/subcategory?q=myquery
<?php
echo $_GET['q']; //Output: myquery
?>
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个可以获取URL参数的jQuery插件,并支持此搜索字符串而不输出JavaScript错误:"格式错误的URI序列".如果没有支持这个的jQuery插件,我需要知道如何修改它来支持这个.
?search=%E6%F8%E5
Run Code Online (Sandbox Code Playgroud)
解码后,URL参数的值应为:
æøå
Run Code Online (Sandbox Code Playgroud)
(字符是挪威语).
我无权访问服务器,因此我无法对其进行任何修改.
可能重复:
如何获取查询字符串值?
我有以下网址:
http://www.mysite.co.uk/?location=mylocation1
Run Code Online (Sandbox Code Playgroud)
我需要的是location从URL 获取变量的值,然后在jQuery代码中使用它:
var thequerystring = "getthequerystringhere"
$('html,body').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用JavaScript或jQuery获取该值?
在使用AJAX调用的Web应用程序中,我需要提交请求,但在URL的末尾添加一个参数,例如:
原始网址:
结果URL:
http://server/myapp.php?id = 10 &enabled = true
寻找一个解析每个参数的URL的JavaScript函数,然后添加新参数或更新值(如果已存在).
我知道+URL的查询字符串中的a表示空格.这也是查询字符串区域之外的情况吗?也就是说,请执行以下URL:
http://a.com/a+b/c
Run Code Online (Sandbox Code Playgroud)
实际上代表:
http://a.com/a b/c
Run Code Online (Sandbox Code Playgroud)
(因此,如果它实际上应该是a +,则需要进行编码),还是实际上实际上代表了a+b/c?
我需要实现以下WebAPI方法:
/api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX
Run Code Online (Sandbox Code Playgroud)
所有查询字符串参数都可以为null.也就是说,调用者可以指定从0到所有5个参数.
在MVC4 beta中我曾经做过以下事情:
public class BooksController : ApiController
{
// GET /api/books?author=tolk&title=lord&isbn=91&somethingelse=ABC&date=1970-01-01
public string GetFindBooks(string author, string title, string isbn, string somethingelse, DateTime? date)
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
MVC4 RC不再像这样了.如果我指定少于5个参数,它会回复404一句话:
未在与请求匹配的控制器"Books"上找到任何操作.
什么是正确的方法签名,使其行为像以前一样,而不必在URL路由中指定可选参数?
query-string ×10
javascript ×5
url ×5
jquery ×2
parsing ×2
php ×2
arrays ×1
c# ×1
encoding ×1
https ×1
parameters ×1
ssl ×1