2017-09-13 2 views
0

Je déclenche un appel ajax lorsqu'un élément est cliqué. L'ajax va à un contrôleur. J'ai une action appelée "removeFlow" et une action appelée "removeMachine" sur ce contrôleur.La ressource demandée n'est pas disponible lors de la modification du nom de l'action.

def removeFlow(Long id){ 
    println id 
} 

def removeMachine(Long id){ 
    println id 
} 

Lorsque ajax est appelé à déclencher rien "removeFlow" est imprimé.

Lorsqu'un ajax est appelé pour déclencher l'identification "removeMachine" est correctement imprimé.

Le message d'erreur reçu sur les deux appels est 404 resoure n'est pas disponible ce que je comprends, puisque je n'ai pas mis en œuvre une vue et je ne redirige pas. Je ne comprends pas pourquoi rien n'est imprimé.

C'est en cours d'exécution sur Grails 2.5.6

Edit:

C'est l'erreur que je reçois sur la console développeur (lorsque l'élément est cliqué et ajax est tiré):

jquery-1.11 ? .1.js compilation = false & encoding = UTF-8: 9631 GET http://localhost:8080/GAIA/removeCE/removeFlow?id=41&_=1505308707652 404 (non trouvé)

Si j'entrer manuellement l'URL (/ GAIA/removeCE/removeFlow id = 41?) je reçois ceci:

: 8080/GAIA/removeCE/removeFlow id = 41: 1 GET http://localhost:8080/GAIA/removeCE/removeFlow?id=41 404 (Introuvable)

+0

Il est plus probable que la ressource n'est pas disponible sur le serveur, ou à une URL différente, confirmez d'abord le chemin de l'URL avec un navigateur. –

Répondre

0

Dans l'action Groovy vous devez rendre quelque chose en réponse à l'appel ajax, sinon votre appel va avec succès, mais il retournera l'erreur 404. Modifiez votre code comme suit.

def removeFlow(Long id){ 
    println id 
    // render anything string or (List/Map as Json) 
    render "Deleted Id:"+id+" successfully" 
} 


def removeMachine(Long id){ 
    println id 
// render anything string or (List/Map as Json) 
    render "Deleted Id:"+id+" successfully" 
} 

// réception de la réponse en ajax succès

success: function(response) { 
     console.log(response) 
    //OR 
    alert(response); 
} 

// Obtenir l'URL en utilisant le lien ajax taglib

url: '<g:createLink controller="removeCE" action="removeFlow"/>' 
+0

Je reçois ce que vous dites, et quand j'entre votre code et que je change l'appel ajax pour appeler "removeMachine" ça rend bien. Cependant si j'appelle "removeFlow" il me donne toujours 404 ressource non disponible erreur. Il semble vraiment bizarre et je suis probablement sur quelque chose de simple – jacob88

+0

@ jacob88 nice ..! –

+0

Donc, malheureusement, le problème reste :-) – jacob88