ajax経由でphpページに送信する前に、jqueryで複数のURLをエンコードする方法と、phpページでデコードする方法を教えてください。
html は次のとおりです。
<form method="post">
<textarea id="multiple_url"></textarea>
<button id="check_url">Check</button>
</form>
<div id="Check_result"></div>
ここにjqueryがあります:
$('#check_url').click(function(){
var multiple_url = $('#multiple_url').val();
$.ajax({
type: "POST",
url: "urls.php",
data: multiple_url=' +multiple_url,
success: function(results) {
$('div#Check_result').html(results);
}
});
}
urls.php は次のとおりです。
$multiple_url = $_POST['multiple_url'];
echo $multiple_url;
次のように投稿すると、テキストエリアに表示されます。
http://yahoo.com
http://facebook.com
http://google.com
次の出力が得られます。
http://yahoo.com http://facebook.com http://google.com
しかし、私がこのように投稿すると:
http://yahoo.com
https://www.facebook.com/photo.php?fbid=540632575958397&set=a.215213765166948.56326.100000349796150&type=1&theater
http://google.com
以下に示すように、壊れた出力が得られました。
http://yahoo.com https://www.facebook.com/photo.php?fbid=540632575958397
ここで起こっていることは"&"
、URL の後に続くすべてを無視していることです。
この問題を解決するにはどうすればよいですか?