簡體   English   中英

嘗試將 FormData 中的 Blob 從 ajax(Wordpress 插件)發布到 php 時獲取 400(錯誤請求)

[英]Getting 400 (Bad Request) when trying to post a Blob in FormData to php from ajax (Wordpress Plugin)

所以請看下面的代碼。

        const chunk = file.slice(start,start + chunkSize + 1)
        const fd = new FormData()
        fd.append('data', chunk)
        $.ajax({
            type: 'POST',
            //cache: false,
            //contentType: false,
            //processData: false,
            url: ajax_object.ajaxurl,
            data:{
                action:'uploadChunk',
                //chunk: fd
            },
            success: function(response){
                console.log(response)
            }
        })

當我留下這些評論時,代碼會返回其預期的響應......但是當我刪除評論以便我可以實際發送帶有請求的 FormData 時,我收到 400(錯誤請求)錯誤。 我現在在后端所做的只是回顯一個字符串。 而已。 除非我嘗試將 formData 與它一起發送,否則這會起作用。

您可以提供的任何和所有見解都是有幫助的,我非常感謝。 謝謝~

當您在 ajax 中使用 FormData object 時,您將 object 單獨傳遞給 ajax function。如果您必須傳遞任何其他數據,請使用 append。

    const chunk = file.slice(start,start + chunkSize + 1)
    const fd = new FormData()
    fd.append('data', chunk)
    fd.append('action', 'uploadChunk')
    $.ajax({
        type: 'POST',
        //cache: false,
        contentType: false,
        processData: false,
        url: ajax_object.ajaxurl,
        data: fd,
        success: function(response){
            console.log(response)
        }
    })

將表單數據變量作為數據傳遞:

 const chunk = file.slice(start,start + chunkSize + 1)
 const fd = new FormData()
 fd.append('data', chunk)

   dataType: "json",
   data:{
         data:fd 
       },

暫無
暫無

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

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