Come specificare che desidero restituire un oggetto JSON quando si invia una richiesta Ajax con il telecomando rails: true parameter? E una volta restituito l'oggetto JSON, come posso catturarlo e usarlo?Come utilizzare il telecomando delle guide: parametro true con JSON?
risposta
Ci sono molti modi per rispondere a questo a seconda delle vostre specifiche (ad esempio: state usando jquery e l'adattatore UJS) ma ho intenzione di pubblicare materiale da un documento che sto usando per capire meglio l'intero processo: Io uso questo grande post in gran parte: aggiornerò la mia risposta mentre sto lavorando anch'io a questa roba.
È possibile aggiungere l'attributo di dati di tipo all'elemento DOM in questo modo:
<%= link_to "Add a new task", new_project_task_path(@project), "data-type" => "json", :id => "add_task_btn" %>
È possibile anche definire un tipo di dati predefinito in funzione globale di jQuery $ .ajaxSetup(). Modifiche tutte le richieste Ajax:
$.ajaxSetup({
dataType: 'json'
});
E il terzo modo è nella richiamata beforeSend:
$(“#add_some_button”).live(“ajax:beforeSend”, function(e, xhr, settings){
new_data_type = “application/json, text/javascript, */*; q=0.01”;
xhr.setRequestHeader('accept', new_data_type);
})
(la q = 0,01 è la preferenza tra 0 e 1)
modo da poter cambiare quella proprietà dataType e le intestazioni HTTP per soddisfare le tue esigenze. Per avere un riferimento, ecco un elenco dei possibili tipi MIME: Here
E l'elenco specifico tipo di javascript supporto: Here
Panoramica formato dati vengono inviati dal server: 1. ) Ajax invia la richiesta con l'intestazione Accept impostata sul tipo MIME desiderato. 2.) Controller Rails controlla l'intestazione Accept per determinare cosa deve restituire. 3.) Il controller determinerà se l'azione gestisce il particolare tipo MIME. In rails 3 possiamo usare respond_with, pre 3.0 è un reply_to block nell'azione controller.
Panoramica dei modi Ajax può essere utilizzato in Rails 3.1:
credo che il metodo preferito ora è quello di utilizzare il tipo di dati predefinito come script e quindi gestire le richieste di AJAX sia con un js.erb o js. file di caffè.
Opzioni: 1. ) evento Click: Inserimento DOM Elementi 2.) Invio di un modulo tramite Ajax 3.) Eliminazione tramite Ajax 4.) convalida lato client con l'Ajax (Utilizzando i dati-remoto su un ingresso campo) 5.) Aggiunta di selezione dinamica (Utilizzo di dati remoti su un campo di selezione) 6.) Impaginazione Ajax - Restituisce HTML direttamente.
Ancora una volta quello che sto includendo qui è il mio schema/recensione, per ottenere dettagli si prega di controllare il grande post di Andrea Singh here.
Si prega di provare questo:
app/controllers/examples.rb
class ExamplesController < ApplicationController
def new
@my_json = { :message => "Hello json"}
end
end
app/views/examples/new.html.Haml
= link_to "New", new_examples_path :remote => true
app/views/examples/new.js.erb
console.log("<%= @my_json %>");
console.log("<%= @my_json['message'] %>");
- 1. Come utilizzare l'helper date_field delle guide?
- 2. Come utilizzare il parametro json nel servizio restful java
- 3. compiti "Private" rastrello con l'ambiente delle guide
- 4. Solo layout di rendering delle guide?
- 5. Come utilizzare più cache nelle guide?
- 6. Elenco delle guide TV API
- 7. Come cancellare la tabella delle sessioni delle guide
- 8. WTForms BooleanField considera il valore falso JSON come true
- 9. Come utilizzare SetEnv con un parametro URL
- 10. Come ottenere eventi di movimento con il telecomando Apple TV
- 11. Come creare un modulo per il plug-in delle impostazioni delle guide
- 12. POST JSON per guide del server
- 13. Come utilizzare un DataAdapter con procedura memorizzata e il parametro
- 14. È possibile accedere alle guide delle guide per le guide 2.3?
- 15. restful webservice con xml o json come parametro
- 16. threading = True con il boccaglio
- 17. Dropwizard/Jersey: l'autenticazione e il parametro JSON
- 18. Come gestite la distribuzione delle applicazioni delle guide con i sottomoduli?
- 19. downgrade delle guide da 4 a 3.2
- 20. Modulo rubino che utilizza ajax con il telecomando: true fornisce l'errore ActionController :: InvalidAuthenticityToken. L'invio classico non è
- 21. Come utilizzare il metodo Accumula JSON con elenco?
- 22. Come utilizzare BLOB con JSON e PHP?
- 23. Come aggiungere nuovi dati seme al database delle guide esistenti
- 24. Come utilizzare Joda DateTime con Play Json
- 25. Come utilizzare JSON-CPP?
- 26. Come includere gli helper delle guide su RSpec
- 27. stato git aggiornato con il telecomando anche se non è
- 28. Intergrating JS angolare con guide
- 29. Come salvare il referer http nelle guide
- 30. git - spingendo le descrizioni delle derivazioni sul telecomando