【发布时间】:2021-10-13 10:33:49
【问题描述】:
我正在 WP 管理面板上生成图像并将其保存到媒体库。几个月前我工作得很好。但是现在如果我通过 ajax 发送 dataurl,我很长一段时间都没有收到来自服务器的任何答案,并且之后得到 400 错误或 404。当我从 ajax 调用中删除数据 url 值并尝试放置字符串或数组时,它可以正常工作。
这是我的 ajax:
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
var dataURL = canvas.toDataURL();
var data = {
'action' : 'save_certificate',
'dataURL' : dataURL
};
jQuery.post(ajaxurl, data).done(function( response ) {
console.log(response);
}).fail(function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
}).catch(function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
});
和wp函数
add_action( 'wp_ajax_save_certificate', 'save_certificate' );
function save_certificate(){
print('ok');
wp_die();
}
wp 配置上的帖子最大大小设置为 128MB 更新 我有,我可以发送小于 2 MB 的画布或小于该值的数组,但为什么我不能发送更大的文件?
【问题讨论】:
-
可以使用
console.log(ajaxurl);注销,通过浏览器内置的开发者工具查看 -
是的,但它可以与其他值(不是 dataurl)一起工作,所以可能不是因为 ajaxurl
标签: javascript ajax wordpress