如何使用 Javascript ajax 发送 url? [复制]

Posted

技术标签:

【中文标题】如何使用 Javascript ajax 发送 url? [复制]【英文标题】:how to send a url using Javascript ajax? [duplicate] 【发布时间】:2012-12-21 16:19:06 【问题描述】:

可能重复:How to encode a URL in javascript?

我正在尝试使用以下代码将 url 发送到 php 代码,但由于 url 包含 &a=12&b=4 一旦我在我的 php 代码中获得“a”变量的值,地址的最后一部分就会被删除。

网址 = http://www.example.com/help.jpg?x=10&a=12&b=4 但是我在我的php文件中得到的url是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

【问题讨论】:

看看这个:***.com/questions/332872/… 密切相关:***.com/questions/332872/… @gd1 哇,真是个有趣的巧合。 作为评论,我想说,如果您要发布一些内容,您应该使用 POST http 方法,而不是 GET。考虑到您的 url 问题,我猜该解决方案依赖于在 php 中使用 javascript url_encode 方法和 $_REQUEST 数组。 【参考方案1】:

你需要对参数进行编码

xmlhttp.open("GET","Photos.php?a="+encodeURIComponent(url),true);

【讨论】:

【参考方案2】:

您需要对 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);

【讨论】:

以上是关于如何使用 Javascript ajax 发送 url? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ajax将数据从视图发送到控制器laravel?

如何将字典对象的javascript列表发送到django ajax

JavaScript之Ajax-2 Ajax(使用Ajax发送get请求使用Ajax发送post请求)

如何使用 jQuery $.ajax 将请求参数数组发送到 servlet?

如何使用ajax发送图像和数据

如何使用 PHP 和 Ajax 将数组传递给 Javascript?