【发布时间】:2018-11-23 22:29:32
【问题描述】:
我正在尝试将 html 代码作为 POST 数据发送到 php 页面,如下所示:
report_data['finalhtml'] = '\n\n\n<!------ page split ----\>\n<div class="clearfix">'+html+'</div><!------ page split end ----\>\n\n\n';
var report = JSON.stringify(report_data);
var report_json = encodeURIComponent(window.btoa(report));
var url = baseurl+"/pdf-report";
var newForm = jQuery('<form>', {
'action': url,
'method': 'POST',
'target': '_top'
}).append(jQuery('<input>', {
'name': 'report_details',
'value': report_json,
'type': 'hidden',
}))
.append(jQuery('<input>', {
'name': 'project_name',
'value': successdata.ProjectTitle,
'type': 'hidden'
}));
$('body').append(newForm);
SAT_utilities_js.RemovePageLoader();
newForm.submit();
但是当我在 PHP 页面上获取数据时,我收到错误为 ERR_BLOCKED_BY_XSS_AUDITOR
我用谷歌搜索了这个错误,并知道我需要对 html 代码进行 BASE64 处理。 所以我在 JS 中做了 base64,但是我没有在 php 中得到正确的 base64 解码字符串。原因是我的JS Object先转成JSON,然后用BASE64编码。
问题是我不能单独使用base64,我也不能单独使用stringify。
现在我没有得到完整的证明方法来使用 jQuery FORM 和 POST 方法将我的 html 代码发送到 PHP 页面。
请提出任何将 HTML 代码从 JS 发送到 PHP 页面的方法
【问题讨论】:
标签: javascript php jquery forms