2016-08-05 20 views
-1

Ich möchte den Wert einer JavaScript-Variable in der URL übergeben und dann diesen Wert in meinem Rails 4 App-Controller verwenden, indem Sie über param[:my_variable] darauf zugreifen. Ich habe verschiedene hier vorgeschlagene Methoden ausprobiert, aber nichts hat für mich funktioniert, ich kann meine JavaScript-Variable nicht an die URL übergeben und im Controller darauf zugreifen. Ich bin neu bei Rails.Übergeben Sie JavaScript-Variable in URL in Rails 4-Anwendung, damit ich es in Controller verwenden kann?

Es wäre eine große Hilfe, wenn Sie mir eine Abhilfe vorschlagen können, ich Code bin schaffen, die ich habe versucht, und es machte wie auch Sinn für mich, aber es hat nicht funktioniert:

<script> 
    var content = 'something'; 
var url = '/index/view? 
message='+encodeURIComponent(content); 
new Ajax.Request(url, 
{ asynchronous:true, evalScripts:true, method:'get', 
onComplete: function(t) { // do something 
    alert('done'); 
} 
}); 
</script> 
+0

Wurde Ihre Ajax-Anfrage an den Server gesendet? Überprüfe deine Browser-Konsole. Es kann falsch sein ajax url. –

+0

es sagt "Uncaught SyntaxError: Ungültige oder unerwartete Token" das ist var url = '/ index/view? View' Ich verstehe es nicht, was ist der Fehler genau – aashi0001

+0

Wie sieht der Code in Zeile 47 und der Kontext um aussehen ? Kannst du den gesamten Stacktrace posten? – spickermann

Antwort

0

Basierend auf Ihre Anforderungen, in der Lage zu sein, als Benutzer Informationen zu suchen, würde ich empfehlen, eine js-Bibliothek zu verwenden. Diese js-Bibliotheken haben wahrscheinlich ein Juwel, das jemand erstellt hat, das Ihnen dabei helfen wird, auf diese Weise zu suchen.

Diese beiden Videos sind ziemlich gut als Live zeigt

+0

danke für die Antwort aber bitte bitte für jetzt können Sie mir helfen mit JavaScript-Variable zu Rails Controller, ich brauche wirklich Hilfe! – aashi0001

0

die richtige Ajax-Syntax

var url = '/index/view?' 
$.ajax({ 
     url: url, 
     type: 'get', 
     data: {your_js_variable: value}, 
     success:function(data){ 
      if(data.status == 'true'){ 
      // do as you like 
      } 
      else{ 
       // do as you like 
      } 
     } 
    }); 

Dann in Ihrem Controller die Suche ist, können Sie bekommen die Parameter wie params[:your_js_variable].

Ich übersprang Skript-Tag.

hoffe das hilft.