/ / jQuery Ajax pour envoyer l'URL des rails - jquery, ruby-on-rails, ajax

jQuery Ajax pour envoyer l'URL des rails - jquery, ruby-on-rails, ajax

Je crée une application de compteur PV avec des rails etPour y parvenir, je souhaite placer un script jQuery dans le fichier HTML d’un autre site afin de transmettre des informations sur l’URL du site à mon application rails. En fin de compte, je veux enregistrer l'URL dans la base de données une fois que le site est visité. Jusqu'à présent, j'essaie de créer un script jQuery pour envoyer des données à des rails, et j'ai écrit ceci. Comment puis-je envoyer l'URL du site cible?

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

Réponses:

2 pour la réponse № 1

Vous pouvez utiliser window.location.href ou window.location.origin ce qui vous convient et transmettez-le dans le champ de données.
ACTUALISÉ:

<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>

Dans viewcounter_controller.rb, changez le nom de la fonction en compteur de def, comme compteur est défini dans les itinéraires et non compter.

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

Enfin, supprimez le script de migration jquery car il n’est pas nécessaire.