J'ai cette fonction jquery du côté client ...Erreur lorsque vous faites ajax avec Grails et javascript
$('#add-car').on('click', function() {
$.ajax({
type: 'POST',
url: 'cars/',
data: {brand: 'brand', model: 'model', price: 100,
registryYear:1999},
success: function(data) { console.log(data)},
dataType: 'json'
});
});
Et ce code Grails dans le côté serveur
class UrlMappings {
static mappings = {
"/cars/$id?"(controller: "cars") {
action = [GET:"list", POST:"save", DELETE:"delete", PUT:"edit"]
}
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
import grails.converters.JSON
class CarsController {
def index() {
render (Car.findAll() as JSON)
}
def save() {
def json = request.JSON
def car = new Car(json)
car.save()
render (json)
}
def delete() {
def car = Car.findById(params.id)
car?.delete()
render (car as JSON)
}
def edit() {
def car = Car.findById(params.id)
bindData(car, request.JSON)
render (car.save() as JSON)
}
}
Mais lorsque le bouton # add-car est enfoncé, il ne renvoie rien ... Qu'est-ce que je fais de mal?
Y a-t-il une activité sur le serveur? Pouvez-vous utiliser firebug ou quelque chose de similaire pour inspecter la demande et voir ce qui se passe lorsque vous cliquez. – gotomanners