PHP consente di mixare il codice lato server e il codice lato client. Entrambi possono coesistere nello stesso file. Questa è la radice del tuo fraintendimento del pattern MVC.
Inserendo la logica lato server nello stesso file della logica lato client (le chiamate dell'API jQuery) non sei correttamente separando il tuo preoccupazioni . Separation of Concerns è il il concetto centrale dietro il modello Model-View-Controller.
Da Design Patterns - MVC Pattern : (enfasi, mia)
MVC Pattern stands for Model-View-Controller Pattern. This pattern is used to separate application's concerns.
Model - Model represents an object or JAVA POJO carrying data. It can also have logic to update controller if its data changes.
View - View represents the visualization of the data that model contains.
Controller - Controller acts on both model and view. It controls the data flow into model object and updates the view whenever data changes. It keeps view and model separate.
Ci sono casi d'uso per inserire il lato server e il codice lato client nello stesso file in PHP. Se hai una sceneggiatura semplice che vive da sola e non fa parte di qualcosa di più grande, allora questa strategia di programmazione può essere OK.
Questo è anche il motivo per cui PHP ha un brutto nome, ma questo è un modo di discutere oltre questo post.
Il tuo stile di codifica non è MVC. A seconda di ciò che stai costruendo, questo può essere OK.
Se vuoi aderire a MVC puoi comunque utilizzare AJAX. L'URL che risponde alla chiamata AJAX è solo un altro controller, che esegue il rendering di un'altra vista.
AJAX e MVC suonano molto bene insieme.