2017-10-06 5 views
-2

Wie würde man normalerweise ein Formular aus einer ReactJS-Einzelseitenanwendung heraus senden? Ich würde normalerweise nur POST verwenden und es über PHP senden, aber jetzt, da ich eine einzelne Seite Anwendung verwende, bin ich nicht ganz sicher, wie ich dasselbe erreichen könnte. Ich möchte nur eine einfache E-Mail mit dem Inhalt dieses Formulars senden, das war's.Formular mit php mit ReactJS senden?

Ich habe ein Shared-Hosting-Konto mit PHP, also möchte ich das verwenden und nicht einen Nodejs-Server darüber kaufen.

Ein allgemeiner, gemeinsamer Ansatz würde als Antwort genügen.

+0

In meiner ReactJS app Ich bin mit Ajax-API-Aufrufe zu verwalten. (Für mich ist der klarste Weg, es zu tun) – arracso

+0

Könnte ich Ajax verwenden, um den Formularinhalt an meinen PHP-Server zu senden und diese E-Mail zu senden? –

+0

https://github.com/DannyGarciaMartin/react-webpack/blob/master/js/source/comp/AccountForm.jsx auf diese Weise. – fungusanthrax

Antwort

1

Sie können genau dasselbe machen, eine POST-Anfrage in Ihrem Javascript erstellen und wie gewohnt fortfahren.

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

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

Sie würden einen clickhandler auf dem Formular-Submit-Button haben müssen, die die Form auf Ihren PHP E-Mail-Dienst über holen schicken würden.

+0

Vielen Dank! Ich bin mir nicht sicher, ob ich das verstehe. Könntest du ein bisschen mehr erklären, was ich tun müsste? Brauche ich eine 3rd-Party-Bibliothek dafür? Was macht 'fetch ("/email ") hier? –

+2

Nein, 'fetch' ist die neue Javascript Ajax API. – JulienD

0

Sie müssen Ihre Anwendung in zwei Teile trennen: Backend und Frontend. Ihr Back-End sollte ein vollständiger REST-API-Dienst sein und das Frontend ist Ihre React-App. Dann müssen Sie die Endpunkte des Backends von der React mit einer Bibliothek wie Axios aufrufen.

Lesen Sie mehr:

What exactly is RESTful programming?

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

https://github.com/mzabriskie/axios

+0

Also würde ich einen Nodejs Server oder etwas ähnliches brauchen? Das versuche ich zu vermeiden! –

+0

@GeorgeWelder nein, Sie könnten jeden Server verwenden, PHP ist in Ordnung. – xDreamCoding