0

在通过 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;

现在在 textarea 当我这样发布时:

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 中的所有内容。

我该如何解决这个问题?

4

1 回答 1

1

传递data一个对象,而不是一个字符串。

data: { multiple_url: $('#multiple_url').val() }

然后,jQuery 将为您处理转义数据。

于 2013-01-03T12:45:32.727 回答