2017-10-06 30 views
-2

通常如何從ReactJS單頁面應用程序發送表單?我通常會使用POST並通過PHP發送它,但現在我正在使用單個頁面應用程序,我不太確定如何完成同樣的事情。我只想發送一封簡單的電子郵件,其中包含該表單的內容,就是這樣。用PHP與ReactJS發送表單?

我有一個共享的PHP託管帳戶,所以我想使用它,而不是購買一個nodejs服務器。

一般的常見方法就足以作爲答案。

+0

在我ReactJS應用我使用AJAX來管理API調用。 (對我來說是最明確的方法) – arracso

+0

我可以使用ajax將表單內容發送到我的php服務器併發送該電子郵件嗎? –

+0

https://github.com/DannyGarciaMartin/react-webpack/blob/master/js/source/comp/AccountForm.jsx這種方式。 – fungusanthrax

回答

1

你可以做同樣的事情,在你的Javascript中製作一個POST請求,並照常進行。

fetch("/email", { 
    method: "POST", 
    body: form //just pass the instance 
}) 

取-API:https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

你需要對你的形式提交按鈕clickHandler事件,這將通過獲取的形式發送到您的PHP電子郵件服務。

+0

非常感謝!但我不確定我是否理解。你能解釋一些我需要做的事情嗎?我需要一個第三方庫嗎?什麼是'fetch(「/ email」)'在這裏做什麼? –

+2

不,'fetch'是新的Javascript Ajax API。 – JulienD

0

您必須將您的應用程序分爲兩部分:後端和前端。 您的後端應該是REST Full API服務,前端是您的React應用程序。然後你必須從React調用像axios這樣的庫的後端的端點。

瞭解更多:

What exactly is RESTful programming?

https://www.sitepoint.com/best-practices-rest-api-scratch-introduction/

https://github.com/mzabriskie/axios

+0

所以我需要一個nodejs服務器或類似的?這就是我想要避免的! –

+0

@GeorgeWelder不,你可以使用任何服務器,PHP是好的。 – xDreamCoding