我尝试使用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的第一部分。那我该怎么逃避呢?
我终于理解为什么它不能正常工作... $ .fileDownload在get中创建一个带有表单的iframe,并且该函数尝试将我的发布数据放入其中,以便将其放入其中:
<div class
在平等之前..我没有解决方案......
答案 0 :(得分:0)
使用喜欢
var donnees=$('body').html();
$.fileDownload($(this).attr('action'), {
preparingMessageHtml: "wait during generation.",
failMessageHtml: "error",
httpMethod: "POST",
data: "datas="+donnees
});