如何使用Javascript ajax发送网址?
可能重复:
如何在JavaScript中编码一个URL?
我试图使用下面的代码发送一个url到一个php代码,但是当url包含&a = 12&b = 4时,一旦我在我的php代码中获得了“a”变量的值,地址的最后部分被删除。
url = http://www.example.com/help.jpg?x=10&a=12&b=4但我在我的php文件中得到的网址是http://www.example.com/help.jpg?x= 10(&a = 12&b = 4被删除,我知道原因是javascript,ajax将它与url地址混合在一起,并不知道它只是一个值,但不知道如何解决它)
function upload(url){
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("output").innerHTML= xmlhttp.responseText;
}
}
xmlhttp.open("GET","Photos.php?a="+url,true);
xmlhttp.send();
}
if(isset($_GET["a"]))
{
$Address = $_GET["a"];
echo $Address;
}
输出是>>>“http://www.example.com/help.jpg?x=10”,但它应该是http://www.example.com/help.jpg?x=10&a=12&b=4
您需要对参数进行编码
xmlhttp.open("GET","Photos.php?a="+encodeURIComponent(url),true);
您需要对URL进行编码。 您可以使用encodeURIComponent(str)和encodeURI(str),如下所示:
var eurl = encodeURIComponent("http://www.example.com/help.jpg?x=10&a=12&b=4");
xmlhttp.open("GET","Photos.php?a=" + eurl, true);
链接地址: http://www.djcxy.com/p/26529.html
上一篇: how to send a url using Javascript ajax?
下一篇: Encode special characters to pass in url and read by javascript