JavaScript ve PHP URL kodlamak nasıl?

3 Cevap php

I surl adında bir değişken bir POST isteği bir URL göndermek istiyorum. Nasıl JavaScript kodlamak ve PHP bunu çözmek gerekir? Örneğin, değeri surl olabilir http://www.google.co.in/search?q=javascript+urlencode+w3schools.

EDIT

Üzgünüm, ben gönderme ama bir ajax isteği oluşturmak değil, söylemeyi unuttum.

3 Cevap

Kod çözme için encodeURIComponent(uri) (kodlama) ve decodeURIComponent(uri) kullanın

Örneğin (kodlama).

var uri="http://w3schools.com/my test.asp?name=ståle&car=saab";
document.write(encodeURIComponent(uri));

Çıktı

http% 3A% 2F% 2Fw3schools.com% 2Fmy% 20test.asp% 3Fname% 3DST% C3% A5le% 26car% 3Dsaab

Çözme okuyucu için bırakılır. :-)

Source: http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp

Sen bir şey gerekmez. Olarak gönderin. (Eğer form.surl.value = surl; form.submit() ve $_POST['surl'] kullanıyorsanız) Tarayıcı ve PHP tüm kaçan ve sizin için atlanmaması yapacağız. (Bu sizin ihtiyaçlarınızı karşılar eğer) ya da sadece herhangi bir JavaScript olmadan düz formu kullanabilirsiniz.

Replying henasraf's comment. Bunu dene.

<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, bu çıkışları için

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',
)

PHP gibi, bu urlencode() ve urldecode().