php - Ajax 保存到 wordpress 上的服务器
问题描述
我正在尝试将 PDF 保存到 Wordpress 上的服务器,当我在表单上按提交并查看控制台时,我收到以下消息:
[弃用] 主线程上的同步 XMLHttpRequest 已弃用,因为它对最终用户的体验产生不利影响。如需更多帮助,请查看https://xhr.spec.whatwg.org/。
和
jquery-2.2.4.min.js:4 POST https://eazyfreight.co.uk/wp-admin/admin-ajax.php 400
我的代码:
PHP:
add_action( 'wp_ajax_so56917978_upload', 'so56917978_upload' );
add_action( 'wp_ajax_nopriv_so56917978_upload', 'so56917978_upload' );
function so56917978_upload() {
if ( ! empty( $_POST['data'] ) ) {
$data = base64_decode($_POST['data']);
file_put_contents( get_stylesheet_directory_uri() . '/POD/pod.pdf' , $data );
echo "success";
} else {
echo "No Data Sent";
}
die();
}
JS
function sendToServer() {
html2canvas(document.getElementById("product_sheet"), {
onrendered: function(canvas){
console.log("#pdfsubmit clicked");
var img = canvas.toDataURL("image/png");
var doc = new jsPDF('p', 'pt', 'a4' );
doc.addImage(img, 'JPEG', 20, 20);
var pdf = doc.output('blob');
$.ajax({
url: jspod.ajax_url,
type: 'post',
async: false,
contentType: false,
processData: false,
data:{
data: pdf,
action:'so56917978_upload',
},
dataType: 'json',
});
}
});
}
任何帮助排序错误然后将文档发送到服务器将不胜感激
解决方案
我不确定,但您的代码似乎很好,我会以同样的方式完成。
尝试更新您的 jQuery 版本,因为您使用的是非常旧的版本..
推荐阅读
- tensorflow - 在 AWS SageMaker 上安装 Keras 和 TensorFlow
- bash - bash:参数扩展,使用默认值:当扩展已经被引用时,是否应该引用单词?
- file - SIP 呼叫是否有任何文件格式?
- java - 如何使用流将二维 int 数组转换为单个字符串?
- javascript - 使用PHP从MySQL获取JSON作为字符串,我们可以在字段中获取数据作为JSON
- javascript - 包含外部 js 文件仅在平板电脑上不起作用
- python - ModelDefinitionException("至少需要 1 个主键。") 即使已经定义了主键
- angularfire2 - 通过文档 ID 获取数据
- machine-learning - 首先在 SVD 之后对数据集执行 PCA 是否有意义?
- react-native - 在 0.60.0 中失败 react-native run-android