Javascript Ajax请求没有传递整个字符串?

Javascript Ajax请求没有传递整个字符串?,javascript,ajax,Javascript,Ajax,我试图使用此代码使用ajax向php文件发送字符串,但当我echo$_POST['dnload']时它只打印出来,而不是控制台中的整个字符串 var download = "https://drive.google.com/uc?export=download&id="; var id="1a4mib5pVOGIzBTxjGmvVwx-0uvK2NqaR"; $("#search").on("click", function(){ var http = new XMLHttp

我试图使用此代码使用ajax向php文件发送字符串,但当我
echo$_POST['dnload']时它只打印出来,而不是控制台中的整个字符串

var download = "https://drive.google.com/uc?export=download&id=";
var id="1a4mib5pVOGIzBTxjGmvVwx-0uvK2NqaR";


$("#search").on("click", function(){
    var http = new XMLHttpRequest();
    var main = mainlink+id;
    var thumb = thumbnail+id;
    var dnload = download+id;
    http.open("POST", 'walldb.php', true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.onload = function(){
        if (this.status == 200){
        console.log(this.responseText);
        }
    }
    http.send("main=" + main + "&thumb=" +thumb + "&dnload=" +dnload);
});

我做了一些研究,最终找到了一个解决方案,所以我想我会发布一个答案 我改变了:

var dnload = download+id;
致:

谢谢!:)


这里是我找到解决方案的地方:

那么您正在发送一些东西,它们之间用
&
分隔,其中一个内容包含
&
。但是urlencoded应该解决这个问题吗?不
var dnload = encodeURIComponent(download) + id;