script jquery non funziona più dopo il passaggio a MVC

the_indios

Nuovo Utente
29 Gen 2020
13
0
1
Salve a tutti :)

ho uno script php di modifica dei dati di un form che fa uso di jquery.
Lo script preleva dei dati da un div e dopo alcune verifiche, effettua una richiesta AJAX e richiama uno script che elimina un contenuto dalla base di dati e restituisce un booleano (dovrebbe).

I due script sono nello stesso percorso del server, ma da quando ho cambiato il sito usando il pattern MVC, non funziona più.

Ho pensato che si tratta sicuramente dell'url, perché qualsiasi var_dump io faccia nello script di destinazione, non restituisce nulla nella clausola success.

Dunque ho provato ad inserire il percorso assoluto del server, così:
url : "/core/view/activities/removeNodeIfExists.php",


In questo modo torna a funzionare, mentre andando di percorso relativo
url : "removeNodeIfExists.php" oppure url : "./removeNodeIfExists.php"

non funziona.

La URL è completamente sganciata dal percorso del server, ed è " http://cicerone.locl/activities/1/edit"

Qualcuno mi spiega l'arcano? jquery è un linguaggio client-side, quindi non dovrebbe vedere come è strutturato il server o vado errato?
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
ma da quando ho cambiato il sito usando il pattern MVC, non funziona più.
??? hai sbagliato l'utilizzo della "C" Controller, e probabilmente anche della "V" Views!!!

Anche js deve utilizzare i percorsi definiti nel router altrimenti non funziona!!
script di destinazione


Non puoi "richiamare" un file .php da url, esci fuori dal pattern, dovresti interrogarlo utilizzando il controller!!!!
--------------------------------------------
Ricapitolando:
  1. Controller Activities
    1. Interroga il model
    2. Recupera i dati dal model
  2. Ritorna una Vista
Nella vista hai il JS? Se hai fatto così sappi che è totalmente errato.
La chiamata in ajax richiama un "FILE.php"???? Sbagliato!

Ajax dovrebbe chiamare un controller, che abiliti degli helper per far il compito da te scelto... Quindi l'URL ajax non può essere un file!!!!

In questo scenario:
JS-> AJAX richiama un controller C che a sua volta attiva l'helper/libreria per effettuare il controllo....
Una possibile soluzione, potrebbe essere questa:

PHP:
public function do_actions($callback){
    $args=[$callback=>sanitize_post($_POST)];
    array_walk($args,function($v,$k){
       if(methods_exsists($this,$k))call_user_funct_array([$this,$k],[$v]);
       else if(function_exists($k))call_user_func($k,$v);
    });
}
JavaScript:
$.ajax({
    method:'post',
    url:'/do_action/removeNodeIfExists ',
    data:this.dati,
    success:function(response){
       //do action   
    },
    error:function(response){
        //do error
    }
})
 

the_indios

Nuovo Utente
29 Gen 2020
13
0
1
Nella vista hai il JS? Se hai fatto così sappi che è totalmente errato.

E come faccio altrimenti? lo script va messo dopo il body, non può andare nell'head. Anche perché preleva i dati di php
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
E come faccio altrimenti? lo script va messo dopo il body, non può andare nell'head. Anche perché preleva i dati di php
Chi ha parlato di header o body.... Ho semplicemente affermato che dal punto di vista della programmazione è totalmente errato, ma nessuno ha detto che non funziona...

Non puoi "richiamare" un file .php da url, esci fuori dal pattern, dovresti interrogarlo utilizzando il controller!!!!
Hai provato a fare questo??????
 

the_indios

Nuovo Utente
29 Gen 2020
13
0
1
Allora fammi capire....

innanzitutto quei files li devo spostare nel controller, giusto? Credo non debbano stare nella cartella view.

Poi, dovrei richiamare il controller definendo le rotte, ok. E a quel punto questi script "removeNodeIfExists.php" e "removeDuplicateIfExists.php" possono diventare dei metodi?

Chi ha parlato di header o body.... Ho semplicemente affermato che dal punto di vista della programmazione è totalmente errato, ma nessuno ha detto che non funziona...

Quindi, stai dicendo che il codice va messo nel tag script però va spostato nella cartella js? Ovvero, in quello script non deve comparire?
In tal caso, come faccio a passargli i valori delle variabili php?
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
In tal caso, come faccio a passargli i valori delle variabili php?
.... ma serio??? passi le variabili php agli script?
Non sarebbe meglio parametrizzare magari utilizzando gli attributi "data-x"?

Al massimo, per ovviare al problema, potresti caricare risorse in base alle richieste, scrivendo nel dom quello che ti serve, ma ti prego le variabili da php a js NO...
É una pratica comune, soprattutto errata... Se puoi parametrizzare è meglio.

Si il concetto è quello che hai espresso sopra... In quel modo sei a cavallo!!!!!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
P lanciare script asp (o php) da jquery Javascript 1
G Inserzione script nella pagina html per jquery jQuery 8
P immagine responsive problema con script jquery jQuery 0
L Refresh include php con jquery problemi negli script dopo load jQuery 2
L Inserire Script Jquery in immagine html con zone cliccabili jQuery 1
S Inserire script jquery nel sito jQuery 9
F [Offro collaborazione][Gratuito] Modifica script PHP,jQuery,GD Library Offerte e Richieste di Lavoro e/o Collaborazione 0
D [Jquery - php] Ottimizzazione script jQuery 1
A script jquery in conflitto jQuery 3
V Migliorare aspetto script jquery jQuery 1
V si può richiamare una script jquery in automatico? jQuery 1
F Problema variabile in uno script jquery jQuery 2
P Coesistenza di 2 script jquery nella stessa pagina jQuery 0
L 2 script jquery insieme (NivoSlider e Yoxview) jQuery 0
F Somma di più tabelle da script Javascript 0
L Script per convertire numeri in parole Javascript 2
H Eliminazione script. Photoshop 0
S Script Google Translate scomparso HTML e CSS 3
G Script notifiche dekstop aiuto Javascript 0
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
P Passare solo alcuni parametri a script per CSV PHP 0
M Collegamento tra form html e script php PHP 4
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
P Script upload immagini jQuery 0
M Premature end of script headers PHP 1
Cosina script data aggiornamento pagina Javascript 1
R Distribuire uno Script "Facebook Auto Post" PHP 0
F Creazione script Tv Presentati al Forum 1
N Script elenco file HTML HTML e CSS 5
felino PHP e script generazione file excel PHP 2
MarcoGrazia Se non sai se riceverai da GET o da POST, puoi verificarlo e far scegliere allo script. Snippet PHP 0
Beppe2 Ritardare esecuzione script Javascript 2
R Primo script in PHP / CSS PHP 4
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
T [a pagamento] programmatore PHP che mi aiuti a migrare gli script da vecchia versione PHP a nuova Offerte e Richieste di Lavoro e/o Collaborazione 1
F Aiuto java script Javascript 2
Max 1 [PHP] Script che funziona in locale e non online PHP 16
K Help: problema con uno script di booking in php! PHP 0
O [PHP] inviare dati da form e script ajax PHP 0
P [PHP] Aggiungere un mio script a prestashop? PHP 10
D [Javascript] inserire uno script in un file php Javascript 6
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
R [Javascript] Aiuto su questo script Javascript 2
M [HTML] Stesso script su 2 blog CMS (Content Management System) 4
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
F [HTML] Failed script su coffee cookies HTML e CSS 1
TpD [PHP] Script per organizzazione presenza eventi PHP 3

Discussioni simili