我想我可以使用PHP $_GET从JavaScript 访问变量:
<script>
var to = $_GET['to'];
var from = $_GET['from'];
</script>
<script src="realScript" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
但也许它甚至更简单.有没有办法直接从JS做到这一点?
是否有任何标准对象或函数来解析NSURL的组件?显然我可以写一个,但为什么重新发明轮子?
[NSURL path]将返回一个NSString像"argX=x&argY=y&argZ=z"
我想要回来的是一个填充的词典{@"argX" => @"x", @"argY" => @"y", @"argZ" = @"z"}
对于路径,它返回一个像"/ partA/partB/partC"这样的字符串,我宁愿得到一个带有结构的数组 {[0] => @"partA", [1] => @"partB", [2] => @"partC"}
我意识到这是一个非常具体的问题,但它似乎是很多人想要的......
编辑 - 这是为了iphoneOS!显然NSURL在Mac OS上有不同的功能
我正在使用http://dingyonglaw.github.com/bootstrap-multiselect-dropdown/#forms显示带有多个复选框的下拉列表.
<li>
<label>
<input type="checkbox" name="filters" value="first value">
<span>First Value</span>
</label>
</li>
<li>
<label>
<input type="checkbox" name="filters" value="second value">
<span>Second Value</span>
</label>
</li>
Run Code Online (Sandbox Code Playgroud)
这是结果URL:
http://example.com/search?filters=first+value&filters=second+value
Run Code Online (Sandbox Code Playgroud)
在服务器端(瓶子):
terms = unicode (request.query.get ('filters', ''), "utf-8")
Run Code Online (Sandbox Code Playgroud)
只会给我"第二价值"并忽略"第一价值".有没有办法收集所有'过滤器'值?
我总是可以测试这个,但我想要一位PHP专家的正式答案(我肯定不会这样).
如果有人提出这样的请求:
http://www.somedomain.com/a.php?param1=value1¶m2=value2¶m3=value3?param1=value4¶m2=value5¶m3=value6
Run Code Online (Sandbox Code Playgroud)
_GET['param2']例如,当我尝试访问时会出现什么样的后果?看起来我只是得到第一个值.在这种情况下,它会返回value2.这是预期的行为吗?
第二个问号会影响什么吗?例如,会有错误吗?
我有一个 .NET Core 6.0 Azure Function HTTP 触发器。
我希望以这两种常见形式处理数组查询字符串参数:
?param=foo¶m=escape%2Ctest?param=foo,escape%2Ctest在这两种情况下我都想提取数组["foo", "escape,test"]。
我惊讶地发现我可用的查询字符串解析选项要么不支持逗号语法,要么不支持将查询字符串作为参数分组的一部分进行 URL 解码。
我尝试过使用几种不同的 dotnet API:
System.Web.HttpUtility.ParseQueryStringMicrosoft.AspNetCore.WebUtilities.QueryHelpers.ParseQueryMicrosoft.AspNetCore.Http.HttpRequest.Queryvar qs = "?param=foo,escape%2Ctest";
var a = httpRequest.Query["param"];
// ["foo,escape,test"]
var b = HttpUtility.ParseQueryString(qs)["param"];
// "foo,escape,test"
var c = QueryHelpers.ParseQuery(qs)["param"];
// ["foo,escape,test"]
Run Code Online (Sandbox Code Playgroud)
我有点惊讶的是不支持逗号分隔格式。我感到非常惊讶的是,似乎没有一种方法可以在不解码查询字符串参数的情况下获取分段查询字符串(这会阻止区分 和param=foo,escape%2Ctest)?param=foo,escape,test。
我将在下面将我当前的解决方案作为“答案”发布,但我希望我缺少一个使用 .NET 库的更简单的解决方案。如果有人能指出我在这里错过了什么,我将不胜感激。
什么 RFC 定义了通过 HTTP 传递的数组?大多数 Web 应用程序平台允许您通过 GET 或 POST 提供参数数组。以下 URL 是一个示例:
http://localhost/?var[1]=one&var[2]=two&var[3]=three
Run Code Online (Sandbox Code Playgroud)
RFC1738定义了 URL,但是 URL 的 Backus–Naur Form(BNF) 定义中缺少括号。此外,此 RFC 不包括 POST。理想情况下,我希望获得 RFC 中定义的此功能的 BNF。
我想使用http_build_query构建此url:
https://www.googleapis.com/freebase/v1/topic/m/0d6lp?filter=/common/topic/notable_for&filter=/common/topic/alias
Run Code Online (Sandbox Code Playgroud)
请注意,"filter ="参数在url中出现两次,以指定两个过滤器.
我尝试这样做但遇到问题:
$service_url = 'https://www.googleapis.com/freebase/v1/topic';
$mid = '/m/0d6lp';
$params = array('filter' => '/common/topic/notable_for', 'filter' => '/common/topic/alias');
$url = $service_url . $mid . '?' . http_build_query($params);
Run Code Online (Sandbox Code Playgroud)
问题是'filter'数组键重复两次,只有最后一个参数出现在http_build_query中.如何使用两个过滤器构建原始URL?
在 GET 上将具有多个值的参数作为查询字符串传递是很常见的:
http://server/status?stat=a&stat=b
Run Code Online (Sandbox Code Playgroud)
如何使用 JS 中的 axios 库创建这种类型的查询字符串?创建一个对象,其中参数名称是键,值是多个值的数组,从而创建一个查询字符串:
http://server/status?stat[]=a&stat[]=b
Run Code Online (Sandbox Code Playgroud)
这与服务器期望的格式不正确。这可以在 axios 中完成吗?
我有以下数组:
var idParam = ["1","2","3"];
Run Code Online (Sandbox Code Playgroud)
我想发送这些数据作为请求使用jQuery.ajax,我正在做什么:
$.ajax({
type: "GET",
url: "Services/GetInfo.ashx",
data: { "id": idParam },
contentType: "application/text",
dataType: "json",
success: function(result)
{
...
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
...
}
});
Run Code Online (Sandbox Code Playgroud)
但结果我有以下丑陋的字符串:( ?id[]=1&id[]=2&id[]=4实际上它更加丑陋:) id%5B%5D=1&id%5B%5D=2&id%5B%5D=4.
怎么做才能得到正常的字符串:id=1&id=2&id=4?? 谢谢
php ×3
javascript ×2
query-string ×2
.net ×1
.net-core ×1
ajax ×1
arrays ×1
axios ×1
bnf ×1
bottle ×1
c# ×1
cocoa-touch ×1
get ×1
http ×1
http-request ×1
ios ×1
jquery ×1
nsurl ×1
objective-c ×1
python ×1
rfc ×1
url ×1