Visualizzazione risultati 1 fino 17 di 17

Discussione: Eliminare dati in MVC

  1. #1
    Guest

    Predefinito Eliminare dati in MVC

    Ciao a tutti, ho creato un sito in php e per eliminare dei dati quindi devo passarli con method DELETE. I dati non li invio direttamente con un form ma passano in uno script in javascript per la gestione degli errori:
    Codice:
    function ConfermaOperazione(id) {
    		var richiesta = confirm("Vuoi eliminare le anagrafiche selezionate?\n(premi OK per eliminare, altrimenti ANNULLA)");
      		if (richiesta === true) {
        		return //?
      		}else{
        		return alert("Le anagrafiche selezionate non verranno eliminate!");
      		}
    	}
    Dove ho commentato il "?" Andrebbe messo il link che sarebbe:
    index.php?page=dettagli&chiave= +id method="DELETE"

    Come dovrei fare?
    Grazie mille

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Non ho capito, vedi se può andarti bene:

    Codice:
    return '<a href="index.php?page=dettagli&chiave='+id+'">elimina</a>';
    A quanto ne so, un link non può inviare una richiesta DELETE, ma solamente GET.
    Se vuoi inviare una richiesta DELETE, devi inviare una richiesta asincrona.

    Ciao!

  3. #3
    Guest

    Predefinito

    No, non posso usare solo il link ti spiego perché:

    Index.php:
    Codice PHP:
    $pagina = $_GET['page'];
    $method = $_SERVER['REQUEST_METHOD'];
    switch(
    $pagina){
    case
    'dettagli':
    if(
    $method == 'DELETE'){
    require
    controller/controller_anagrafiche.php;
    ...
    }
    Quindi per completare l'operazione ho bisogno del metodo DELETE per forza

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Bene, quindi dovrai fare una richiesta ajax, o con xmlhttprequest o con i framework, tipo jQuery.

    Ciao!

  5. #5
    Guest

    Predefinito

    In questo modo è corretto?

    Codice:
    function ConfermaOperazione(id) {
    		var richiesta = confirm("Vuoi eliminare le anagrafiche selezionate?\n(premi OK per eliminare, altrimenti ANNULLA)");
      		if (richiesta === true) {
            	var url = "index.php?page=dettagli&chiave=
    fetch(url + id, {method: 'delete'}).then(response=>response.json().then(json => {
          return json;
        })
      );
    }else{
        		return alert("Le anagrafiche selezionate non verranno eliminate!");
      		}
    	}

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Hai provato? Funziona? Se no, la console mostra errori?

    Ciao!

  7. #7
    Guest

    Predefinito

    Ho provato... non mi da nulla... non mi apre nemmeno il primo pezzo per confermare o annullare

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Dalla console degli sviluppatori non vedi nulla? (F12), ad esempio la mancanza della chiusura della stringa "url"?

    Ciao!

  9. #9
    Guest

    Predefinito

    Credo che l'errore sia questo:
    WebSocket Error: Network Error 12030, Connessione al server interrotta in modo anomalo

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Con quale browser stai provando? Puoi indicare la pagina dove stai lavorando?

    Ciao!

  11. #11
    Guest

    Predefinito

    Stavo usando microsoft edge. Questo è l'errore che mi da chrome:
    Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

    La pagina non puoi vederla perché è dopo il login quindi ha le sessioni e l'html è scritto nel php se non si avvia dal login non si vede l'html

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Dall'errore di chrome sembra che la risposta json non sia correttamente definita, o meglio c'è un carattere "<" nella risposta che non fa parte della codifica json.

    Utilizza gli strumenti per sviluppatori anche per vedere le richieste e risposte delle chiamate asincrone.

    Ciao!

  13. #13
    Guest

    Predefinito

    Non riesco non so cosa fare

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Qual è la risposta che ricevi? ti aspetti una risposta json? (immagino di sì perché usi la response.json(), o la usi solo perché hai preso il codice altrove?)

    Ciao!
    Ultima modifica di alemoppo : 08-07-2019 alle ore 18.10.13

  15. #15
    Guest

    Predefinito

    Uso json perché è l'unica funzione che conosco però l'ho imparata da poco e non so come muovermi

    Ho aperto la pagina delle risposte ma non so cosa guardare
    Ultima modifica di davidedevelopper : 09-07-2019 alle ore 17.30.31

  16. #16
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Uhm, nell'ultimo codice postato sopra ci sono stringhe non chiuse, quindi è improbabile che compili.

    Usare fetch() è una buona idea, vedi questo esempio: https://stackoverflow.com/a/53127045

  17. #17
    Guest

    Predefinito

    Ora mi esce solo questo [Violation] 'click' handler took 895ms ma comunque non funziona

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •