第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 AJAX 將 HTML 表單文件傳遞給 PHP

如何使用 AJAX 將 HTML 表單文件傳遞給 PHP

PHP
神不在的星期二 2023-08-06 10:46:16
我有一個(gè)帶有文件類型輸入的表單。我希望能夠在 JavaScript/jQuery 中捕獲附加到此輸入的圖像,并將其傳遞給我的 PHP 函數(shù),然后上傳到我的 WordPress 媒體。media_handle_upload()根據(jù)文檔,使用 WordPress函數(shù)需要將$_FILES文件發(fā)送的數(shù)組的索引作為第一個(gè)參數(shù)。到目前為止,這是我的嘗試:超文本標(biāo)記語言<form id="company-logo-form" method="post" action="#" enctype="multipart/form-data">    <input type="file" name="company_logo" multiple="false" id="logo-test"/>    <input class="btn bg green" name="upload_company_logo" type="submit" value="Upload Image" /></form>JavaScript$('#company-logo-form').on('submit', function(e) {    e.preventDefault();    let logo = $('#logo-test').prop('files');    $.ajax({        url: ajax_url,        type: 'POST',        // dataType: 'html',        data: {            company_logo: logo,            action: 'uploadCompanyLogo'        },        error: function(res) {            console.log(res);        },        success: function(res) {            console.log(res);        }    });});PHPadd_action('wp_ajax_uploadCompanyLogo', 'update_company_logo');function update_company_logo() {    $logo = $_POST['company_logo'];    $attachment_id = media_handle_upload($logo, 0);                    echo $attachment_id;}使用此代碼,當(dāng)我提交表單時(shí),我在控制臺(tái)中收到以下 jQuery 錯(cuò)誤:Uncaught TypeError: Illegal invocation
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

嘗試在 javascript 中使用FormData來正確發(fā)送數(shù)據(jù)。

像這樣的東西:

$('#company-logo-form').on('submit', function(e) {

? ? e.preventDefault();

? ? let logo = $('#logo-test').prop('files')[0]; // Since 'files' is array.

? ? let formData = new FormData(); // Create a new form.

? ? formData.append('action', 'uploadCompanyLogo');

? ? formData.append('company_logo', logo);


? ? $.ajax({

? ? ? ? url: ajax_url,

? ? ? ? type: 'POST',

? ? ? ? data: formData,

? ? ? ? contentType: false, // No content type headers.

? ? ? ? processData: false, // Do not process sent data.

? ? ? ? error: function(res) {

? ? ? ? ? ? console.log(res);

? ? ? ? },

? ? ? ? success: function(res) {

? ? ? ? ? ? console.log(res);

? ? ? ? }

? ? });

});


查看完整回答
反對 回復(fù) 2023-08-06
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號