jQuery ajouter des paramètres à l'URL
J'aime la façon dont jQuery $.ajax() la méthode permet de spécifier l'url de la requête:
{
url: 'http://domain.com/?param=1',
data{
param2: '2'
}
}
$.ajax() méthode (probablement) appel de $.param() sur des données fournies et éventuellement l'ajouter à l'URL fournie.
Ma question est: est ce type de manipulation d'url à disposition à l'extérieur de dollars.ajax() appel?
Par exemple, je veux ouvrir une fenêtre pop-up, et je voudrais construire l'URL de la même manière que je fais avec $.ajax().
J'ai écrit une fonction qui fait cela, mais j'ai le sentiment que je suis en train de réinventer la roue et la duplication déjà existants en fonction de jQuery:
var prepareUrl = function( url, data )
{
var params = $.param( data );
if ( params.length > 0 )
{
//url contains a query string
if ( url.indexOf( '?' ) > -1 )
{
//get last char of url
var lastChar = url.substr( url.length - 1 );
//Append & to the end of url if required
if ( lastChar != '&' && lastChar != '?' )
{
url += '&';
}
}
else //url doesn't contain a query string
{
url += '?';
}
url += params;
}
return url;
}
merci!
source d'informationauteur Karolis
Vous devez vous connecter pour publier un commentaire.
Depuis d'autres réponses n'ai pas la réponse à ma question, j'ai fait quelques tests avec la
$.ajax()
appeler pour voir comment elle se confond url avec paramètre de données.Mes résultats à ce jour:
?
puis$.ajax()
ajouter'&'
+$.param(data)
$.ajax()
ajouter'?'
+$.param(data)
Donc, si je veux garder mon url de la fonction de traitement compatible avec la façon dont
$.ajax()
t-il, alors il devrait être quelque chose comme ce qui suit:Je me demande encore si il est intégré dans la méthode jQuery pour ce faire.
oui, vous pouvez utiliser jqueries
.param()
fonction pour ce faire.jsfiddle démo