{QUESTION MISE À JOUR}Comment envoyer et stocker des données sur des rails via jquery/ajax en tant qu'objet JSON?
Je souhaite envoyer des données au serveur sur lequel les rails sont installés. Mes données sont au format JSON telles que:
var JSONObject= {
table1: {
title: "Title of text",
url: "Url of text"
}
}
et j'utiliser le code suivant dans cilent:
$.ajax({
type: "POST",
url : "http://webadress.com/table1",
cache: false,
data: JSONObject,
statusCode: {
200:function() { alert("200"); },
202:function() { alert("202"); }
},
success: function() { alert("Data Send!");},
error: function(xhr){ alert("The error code is: "+xhr.statusText);}
});
et dans le cilent, le code suivant existe:
def create
@table1= Table1.new(:title => params[:title], :url => params[:url])
respond_to do |format|
if @table1.save
format.html { redirect_to(@table1, :notice => 'User was successfully created.') }
format.xml { render :xml => @table1, :status => :created, :location => @table1}
format.json { render :json => @table1}
else
format.html { render :action => "new" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end
Mais ça ne marche pas. Comment puis-je obtenir des données et les stocker dans une base de données? Je veux dire comment puis-je mettre chaque élément dans différentes colonnes?
Heureux d'entendre que cela fonctionne. Pourriez-vous valider la réponse? Merci – basgys
Sory J'ai pensé que ça allait marcher mais ça ne fonctionne pas quel pourrait être le problème que j'ai fait tout ce que vous avez écrit. Mais ça ne dérange pas. mon code est situé dans https://github.com/ghaydarov/protonew/blob/master/app/controllers/pages_controller.rb – user1141820
var JSONObject = { \t "page": { \t "title": « Titre du texte " \t "url": "Url du texte", \t "résumé": "AAAAA"}} \t \t \t \t .ajax $ ({type : "POST", url:" http: //proteomap.tranzsend.com/pages ", cache: false, contentType:" application/json; ", données: JSONObject, statusCode: { 200: function() {alert ("200"); }, 202: function() {alert ("202"); }}, succès: function() { alert ("Working"); }, erreur: fonction (xhr) { alert ("L'erreur est:" + xhr.statusText); } }); – user1141820