Comment puis-je ajouter des URL ajax sur un laravel fichier js?
Je suis la construction d'un localisateur de magasins pour trouver un site internet que je crée dans Laravel. Depuis la lame de fichiers appelle le fichier js tht est sur la partie des atouts du dossier. Il ne reconnaît pas l'URL comme ceci
$.ajax({
url: '{{ URL::action('getLocation') }}',
//...
});
C'est de cette façon que j'ai mon route.php
Route::post('/getLocation', array('as'=>'getLocation','uses'=>'FrontController@getLocation'));
De sorte qu'il ne trouve pas le fichier. Comment puis-je appeler cette fonction dans l'URL ajax?
Ce qui est imprimé dans le JS? c'est à dire ce qui est
il obtient la latitud et longitud de l'utilisateur
Est-ce un
Est le fichier qui contient l' $.requête ajax à un .blade.php fichier?
Le fichier js est appelé par la lame de fichier
{{ URL::action('getLocation') }}
il obtient la latitud et longitud de l'utilisateur
Est-ce un
php
fichier ou un js
fichier (où vous avez utilisé $.ajax
) ?Est le fichier qui contient l' $.requête ajax à un .blade.php fichier?
Le fichier js est appelé par la lame de fichier
OriginalL'auteur Monica | 2014-03-14
Vous devez vous connecter pour publier un commentaire.
Voici une démonstration de comment je pourrais atteindre ce
dans mon routes.php de définir une route nommée
ajouté le nom de l'itinéraire sous forme de données, l'url dans mon somehtmlform.blade.php fichier
mon search.js fichier captures de données d'url et de l'utiliser comme poste url
OriginalL'auteur aimme
Vous pouvez utiliser cette package, il donne presque tous les laravel des fonctions d'assistance qui peut être utilisé dans les fichiers js.
OriginalL'auteur Chaudhry Waqas
Vous pouvez essayer ceci:
Ajouter ce dans vous
master.blade.php
du fichier (master layout
)<head></head>
section (lieu avant votrejs
fichier):Maintenant, vous pouvez l'utiliser comme:
Lire ici, chose de similaire.
Avez-vous écrire
<script>var ajax = {{ $ajax or 'undefined' }}</script>
avant votrejs
fichier dans lehead
, peut-être vous devriez le mettre en haut à l'intérieur de<head>
. Il fonctionne et testé.OriginalL'auteur The Alpha
Il semble que vous utilisez la mauvaise méthode pour générer l'URL.
Essayez de passer de la
URL::action()
àURL::route()
.URL::action()
est utilisé pour générer une URL à une action de contrôleur, mais alors vous devez l'écrire comme ceci:URL::route() génère une url vers une route qui est nommé dans la définition de la route, à l'aide de "" => "routeName". Dans votre cas:
Espérons que cette aide!
Oh ok. Je comprends maintenant. J'ai l'habitude de configurer mon JS pour que je puisse passer des paramètres à la fonction. Dans ce cas, je serais étirable appel ajax dans une fonction JS, par exemple var getLocation = fonction(paramètres){} et puis, à partir de l'intérieur de mon (Lame) point de vue, je dirais que ce que la fonction avec les paramètres nécessaires: <script>getLocation({ajaxUrl: {{URL::route('getLocation'}})});</script> (Désolé, assis dans un bar de l'hôtel, code non testé, j'espère que vous obtenez le point 🙂 )
OriginalL'auteur Micael Gustafsson
Si vous appelez votre ajax fonction de un .fichier js,
essayez de changer la lame de la partie
'{{ URL::action('getLocation') }}'
à'/getLocation'
ou de passer une url complète, comme:
'http://domain.com/getLocation'
et cela devrait fonctionner.OriginalL'auteur Philip