我想在一个名为surl
. 我应该如何在 JavaScript 中对其进行编码并在 PHP 中对其进行解码?例如, 的值surl
可能是http://www.google.co.in/search?q=javascript+urlencode+w3schools
。
编辑
对不起,我忘了说,这不是表单提交,而是 ajax 请求。
我想在一个名为surl
. 我应该如何在 JavaScript 中对其进行编码并在 PHP 中对其进行解码?例如, 的值surl
可能是http://www.google.co.in/search?q=javascript+urlencode+w3schools
。
编辑
对不起,我忘了说,这不是表单提交,而是 ajax 请求。
你什么都不需要。按原样发送。浏览器和 PHP 将为您完成所有转义和取消转义(如果您使用form.surl.value = surl; form.submit()
and $_POST['surl']
)。或者您可以只使用没有任何 JavaScript 的普通表单(如果它满足您的需求)。
回复 henasraf 的评论。 试试这个。
<form id="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"
onsubmit="this.via_js.value=this.via_plain_form.value;">
<input type="hidden" name="via_js"/>
<input type="text" name="via_plain_form" value="Paste you url here"/>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
if (isset($_POST['submit'])) {
var_export($_POST);
}
?>
对于http://www.google.co.in/search?q=javascript+urlencode+w3schools
,它输出
array (
'via_js' => 'http://www.google.co.in/search?q=javascript+urlencode+w3schools',
'via_plain_form' => 'http://www.google.co.in/search?q=javascript+urlencode+w3schools',
'submit' => 'Submit',
)
使用encodeURIComponent(uri)
(用于编码)和decodeURIComponent(uri)
解码,
例如(编码)。
var uri="http://w3schools.com/my test.asp?name=ståle&car=saab";
document.write(encodeURIComponent(uri));
输出
http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab
解码留给读者。:-)
来源:http ://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
至于 PHP,它是urlencode()
和urldecode()
.