簡體   English   中英

WordPress Ajax 400 錯誤請求

[英]WordPress Ajax 400 Bad Request

我已經在這個網站上瀏覽了 21 個不同的帖子,在谷歌上瀏覽了許多其他帖子,目前在第 13 頁,我真的要哭了。 我是一名初級開發人員,我真的很難讓它發揮作用。 出於某種原因,我似乎無法理解它。

我正在嘗試創建一個插件,允許我將 blob 文件上傳到 WordPress 媒體庫,但它失敗了。

插件結構是這樣的:

ajax_test/
-- ajax_test.php

-- assets/
-- -- js/
-- -- -- uploader.js

在名為 uploader.js 的文件中,我有以下代碼:

mediaRecorder.addEventListener('stop', function() {
    audio.src = URL.createObjectURL(new Blob(recordedChunks));
    downloadLink.href = URL.createObjectURL(new Blob(recordedChunks));
    downloadLink.download = 'file' + Date.now() + '.wav';
    downloadLink.classList.remove('hide');

    var blob = new Blob(recordedChunks);
    var fd = new FormData();
    fd.append('fname', 'test.wav');
    //fd.append('data', event.target.result);
    fd.append('file', blob);
    fd.append('action', 'send_message');

    console.log('about to ajax');
    
    $.ajax({
            url: ibenicUploader.ajax_url,
            type: 'POST',
            data: fd,
            cache: false,
            processData: false, // Don't process the files
            contentType: false, // Set content type to false as jQuery will tell the server its a query string request
            success: function(data, textStatus, jqXHR) {  
    
                if( data.response == "SUCCESS" ){
                
                    console.log('success');
                
                } else {
                    console.log('error');
                }
            }
        });

        console.log('after ajax');

});

在 ajax_test.php 文件中,我有以下代碼:

function ibenic_enqueue() {
wp_enqueue_script( 'ibenic-uploader', plugins_url( 'assets/js/uploader.js', __FILE__  ), array('jquery'), '1.0', true );
wp_localize_script( 'ibenic-uploader', 'ibenicUploader',
            array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'ibenic_enqueue' );

在控制台我得到

即將到阿賈克斯

在阿賈克斯之后

/wp-admin/admin-ajax.php 400(錯誤請求)

即使我將ibenicUploader.ajax_url,更改為完整路徑,我ibenicUploader.ajax_url,遇到相同的錯誤。

請有人幫我上傳這個文件到wordpress

您必須登錄它才能工作,因為 wp_ajax 與登錄用戶一起工作。

add_action("wp_ajax_your_fn", "your_fn");

對於訪客使用 wp_ajax_nopriv

 add_action("wp_ajax_nopriv_your_fn", "your_fn");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM