/ / jQuery Ajax sendet URL für Rails - jquery, ruby-on-rails, ajax

jQuery Ajax zum Senden von URLs für Rails - jquery, ruby-on-rails, ajax

Ich erstelle eine PV Counter App mit Rails, undUm das zu erreichen, möchte ich ein jQuery-Skript in die HTML-Datei einer anderen Site einfügen, um Informationen über die URL der Site an meine Rails-App weiterzuleiten. Am Ende möchte ich die URL in DB speichern, sobald die Website besucht wird. Bis jetzt versuche ich, jQuery-Skript zum Senden von Daten an Rails zu machen, und ich schrieb dies. Wie sende ich die URL der Zielwebsite?

    <script src="jquery.xdomainajax.js"></script>
<script>
$(function(){
$.ajax({
url: "http://localhost:3000/",
type: "GET",
data: url of the site
})
});
</script>

Antworten:

2 für die Antwort № 1

Sie können verwenden window.location.href oder window.location.origin was immer Ihnen passt und übergibt es im Datenfeld.
AKTUALISIERT:

<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(function(){
//Passing data to rails controller, you can do it like this:
var webURL = {fullURL: window.location.href,
domain: window.location.origin
};//for getting complete url,or window.location.origin for domain alone.
function recordURL(){
$.ajax({
url: "http://localhost:3000/viewcounter/counter",
type: "GET",
dataType: "json"
data: webURL,
success: function(data){
console.log("success "+data);
},
error: function(data){
console.log("error "+data);
}
});
}
recordURL();
});
</script>

Im viewcounter_controller.rbBitte ändern Sie den Funktionsnamen in Def-Zähler, wie der Zähler in den Routen definiert ist und nicht Anzahl.

  def counter
url = params[:fullURL]
Viewcounter.create(site_url: url)
render text:"Ok".to_json
end

Und schließlich entfernen Sie das Skript jquery migrate, da es nicht benötigt wird.