0

我想在一个名为surl. 我应该如何在 JavaScript 中对其进行编码并在 PHP 中对其进行解码?例如, 的值surl可能是http://www.google.co.in/search?q=javascript+urlencode+w3schools

编辑

对不起,我忘了说,这不是表单提交,而是 ajax 请求。

4

3 回答 3

3

你什么都不需要。按原样发送。浏览器和 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',
)
于 2010-02-25T07:43:57.550 回答
2

使用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

于 2010-02-25T08:01:15.607 回答
0

至于 PHP,它是urlencode()urldecode().

于 2010-02-25T09:05:11.223 回答