Наткнулся на вот такой вид отправки данных из формы на сервер, работает отлично но сразу появился вопрос на счёт безопасности. Cтоит ли при таких запросах становиться параноиком и генерировать секретные токены, проверять соответствия ключей итд..
app.jsvar servResponse = document.querySelector('#returned');
document.forms.myform.onsubmit = function(e){
event.preventDefault();
var testInput = document.forms.myform.myForm_input.value;
testInput = encodeURIComponent(testInput);
var xmlca = new XMLHttpRequest();
xmlca.open('POST', 'controller.php');
xmlca.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlca.onreadystatechange = function(){
if(xmlca.readyState === 4 && xmlca.status === 200){
servResponse.textContent = xmlca.responseText;
}
}
xmlca.send('myForm_input=' + testInput);
};
view.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title>Document</title>
</head>
<body>
<div id="returned"></div>
<form name="myform" >
<input type="text" name="myForm_input">
<input type="submit" name="myForm_submit" value="submit">
</form>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
controller.php<?php
$info = $_POST['myForm_input'];
switch ($info) {
case '1':
echo 'this is 1';
break;
case '2':
echo "this is 2";
break;
default:
echo "is not nubber";
break;
}
?>