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

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

使用 FETCH 單擊按鈕提交表單并使用 PHPMailer 發(fā)送電子郵件

使用 FETCH 單擊按鈕提交表單并使用 PHPMailer 發(fā)送電子郵件

PHP
慕姐8265434 2023-09-15 14:34:30
我想通過 fetch API 將單擊按鈕時(shí)的表單發(fā)送到我驗(yàn)證表單的 index.php。如果表單中沒有錯(cuò)誤,我想用 PHPMailer 向客戶端發(fā)送一封電子郵件。由于某種原因,客戶沒有收到電子郵件。我已經(jīng)搜索了幾個(gè)小時(shí)來尋找答案,但無法解決問題。這是 JavaScript 代碼: const form = document.querySelector("#myForm");      form.addEventListener("submit", (e) => {        e.preventDefault();        const formData = new FormData(form);        fetch("index.php", {          method: 'post',          body: formData        }).then((resp) => resp.json())        .then(function (text) {          console.log(text); //Do something with the response, which is an array          if(text !== undefined && text.length > 0) { //The array isn't empty            //Show errors            const formdiverror = document.querySelector(".col-100-form-error");            const colform = document.querySelector(".col-100-form"); //showing error            colform.style.display = "block";            formdiverror.innerHTML = "";            text.forEach(t => formdiverror.innerHTML += t + "</br>");          } else {            //array is empty, no errors             const colform = document.querySelector(".col-100-form");             if(colform !== null || colform !== undefined) colform.style.display = "none";             alert("You succesfully bought the product!");            //window.location.replace("index.html"); //if there was no error redirect to index.html          }        });      })
查看完整描述

1 回答

?
繁花如伊

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

首先,您將導(dǎo)入PHPMailer 的版本5 和 6!事情不會(huì)那么順利;繼續(xù) 6. 刪除這些行及其指向的文件;你不需要它們:

require?'PHPMailerAutoload.php';
require?"class.phpmailer.php";
require?"class.smtp.php";

如果您對(duì)如何導(dǎo)入庫感到困惑,那么現(xiàn)在是學(xué)習(xí)Composer 的好時(shí)機(jī)。

奇怪的是,當(dāng)您注釋掉顯示錯(cuò)誤所在的代碼時(shí),當(dāng)出現(xiàn)錯(cuò)誤時(shí)它不再顯示...該console.log(text);行也應(yīng)該顯示瀏覽器所看到的內(nèi)容。

解決這個(gè)問題的最佳方法是一次調(diào)試一件事。

首先確保您的表單實(shí)際上以應(yīng)有的格式將數(shù)據(jù)傳遞到您的腳本 - 考慮到 JSON 錯(cuò)誤(不是來自 PHPMailer),情況似乎很可能并非如此,而這可能就是來源你所有的問題。因此,將其添加到腳本頂部附近:

var_dump($_REQUEST);

這將破壞您的 ajax 請(qǐng)求(因?yàn)檩敵霾皇?JSON),但您將能夠在瀏覽器的 Web 檢查器中看到原始響應(yīng)。

確認(rèn)其格式正確并包含所有預(yù)期的表單數(shù)據(jù)后,刪除該var_dump行并繼續(xù)檢查您是否正確訪問 JSON 中的屬性。同樣,您可能會(huì)發(fā)現(xiàn)最好在瀏覽器的檢查器中顯示它。一旦您確定以正確的方式提取了所需的所有數(shù)據(jù),就可以繼續(xù)發(fā)送電子郵件。

考慮到通過 SMTP 使用 gmail 的常見問題,最好使用固定值測試您的電子郵件代碼,與您的 ajax 內(nèi)容分開 - 如果沒有其他內(nèi)容妨礙,它本身就很難調(diào)試。

現(xiàn)在您已經(jīng)到了所有各個(gè)部分都可以工作的地步,將它們重新組合在一起并檢查每個(gè)步驟。


查看完整回答
反對(duì) 回復(fù) 2023-09-15
  • 1 回答
  • 0 關(guān)注
  • 145 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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