jQuery $ .ajax post datas& fileDownload转义

时间:2014-06-12 09:08:30

标签: javascript php jquery html

我尝试使用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>

但PHP没有变化......

编辑2:

问题是相同的字符,它分解了post请求,我刚收到php的第一部分。那我该怎么逃避呢?

编辑3:

我终于理解为什么它不能正常工作... $ .fileDownload在get中创建一个带有表单的iframe,并且该函数尝试将我的发布数据放入其中,以便将其放入其中:

<div class

在平等之前..我没有解决方案......

1 个答案:

答案 0 :(得分:0)

使用喜欢

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