Javascript 传递和检索URL查询字符串中的拉丁字符
我有两个HTMLsJavascript 传递和检索URL查询字符串中的拉丁字符,javascript,html,Javascript,Html,我有两个HTMLsstep1.HTML和step2.HTML,我通过URL查询字符串将拉丁值(envían)从step1.HTML传递到step2.HTML,通过在输入字段值中输入待传递值(envían)(在step1.html中处于隐藏状态 我使用一些实用程序函数在step2.html中获取查询字符串参数的值,并在一个文本框中显示该值,但在文本框中获取的值与传递的值不同,请参见屏幕截图 获取了i的编码值,请帮助我在step2.html中也获取相同的值i 编辑:一个缺点是step2.html是
step1.HTML
和step2.HTML
,我通过URL查询字符串将拉丁值(envían
)从step1.HTML
传递到step2.HTML
,通过在输入字段值中输入待传递值(envían
)(在step1.html
中处于隐藏状态
我使用一些实用程序函数在step2.html
中获取查询字符串参数的值,并在一个文本框中显示该值,但在文本框中获取的值与传递的值不同,请参见屏幕截图
获取了i
的编码值,请帮助我在step2.html
中也获取相同的值i
编辑:一个缺点是step2.html
是twitter.com,在那里我无法解码。请参见下面的屏幕截图
提前感谢您的帮助
STEP1.html
Step2.html
var QueryString=函数(){
//此函数是匿名的,立即执行并
//返回值被指定给QueryString!
var query_string={};
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;i您不能在URL中包含i
,因此它为什么被编码到%ED
您可以1)使用POST
表单而不是默认的GET
。或者2)解码val
变量的值。请参阅此堆栈溢出问题:。谢谢您的帮助。但我的限制是我正在将此查询字符串值传递到twitter网站,请参阅附加的屏幕截图(请参见我现在编辑的问题中的内容),我无法执行任何解码过程。@MohamedHussain您能使用吗?这确实是Twitter的一部分,因为其他编码符号(如%20
,%22
,%3F
等)都已正确解码。感谢您在Twitter API上给我的启发。
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
</head>
<body>
<div class="">
<form action="step2.html">
<input type="submit" value="click to submit"/>
<input type="hidden" name="val" value="envían" />
</form>
</div>
</body>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<script>
var QueryString = function () {
// This function is anonymous, is executed immediately and
// the return value is assigned to QueryString!
var query_string = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = pair[1];
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [ query_string[pair[0]], pair[1] ];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(pair[1]);
}
}
return query_string;
} ();
function fngetval(){
var val=QueryString.val;
document.getElementById("status").value=val;
}
</script>
<style>
</style>
</head>
<body onload="fngetval();">
<div class="">
<textarea id="status" name="status" ></textarea>
</div>
</body>