jQuery $.ajax post datas & file下载转义



我尝试用jQuery发送一些html数据到PHP脚本。对于ajax,我这样做:

var donnees = $('body').html();
$.ajax({
    url: 'script.php',
    type: "POST",
    data: "content=" + donnees,
    success: function (retour) {
        console.log(retour);
    }
});

在php中,我接收这样的数据:

<div class="titre"></div><div class="texte"></div>

它工作得很好…

当我尝试使用$。fileDownload(一个jquery插件)

var donnees=$('body').html();
$.fileDownload($(this).prop('action'), {
                preparingMessageHtml: "wait during generation.",
                failMessageHtml: "error",
                httpMethod: "POST",
                data: "datas="+donnees
            });

我做了完全相同的事情,但在php中,我只收到这个:

<div class

我认为jQuery转义字符串,但我不知道如何。

编辑:

即使我在控制台中添加一个addslashes()函数(我发现它在堆栈上),我也会得到这样的好数据:

<div class="titre"></div><div class="texte"></div>

编辑2:

问题是相等字符,它分解了post请求,我只接收php中的第一部分。那么如何转义呢?

<标题>编辑3:

我终于明白为什么它不起作用了…美元。fileDownload创建一个带有get表单的iframe,函数试着把我的post数据放进去所以它唯一放进去的东西是:

<div class

Before the equal..

Use Like

var donnees=$('body').html();
$.fileDownload($(this).attr('action'), {
                preparingMessageHtml: "wait during generation.",
                failMessageHtml: "error",
                httpMethod: "POST",
                data: "datas="+donnees
            });

最新更新