Nell'app Angularjs, ho un URL come http://url.com/my_app/#/store/items
.
Ora voglio aggiungere stringa di query, ad esempio, http://url.com/my_app/#/store/items?page=2
.
ma in url, javascript codifica il che non voglio. Dovrebbe rimanere "?" solo nell'url come angularjs $ location.search() non restituisce nulla per "% 3F".
Come si può fare?come passare "punto interrogativo" in url javascript
risposta
non c'è abbastanza dettagli nella tua domanda quindi mi immagino che si sta utilizzando AngularJS instradamento - o almeno la $location service - in modalità non-HTML5. In tal caso, la parte successiva al carattere #
rappresenta l'URL dal punto di vista dell'applicazione a pagina singola (ulteriori informazioni su AngularJS here).
Se le ipotesi sopra riportate sono corrette, significa che non si dovrebbe provare ad aggiungere o modificare il punto interrogativo "a mano". Invece è necessario modificare la parte search
di $location
per manipolare la stringa di query (parte dopo ?
) e il punto interrogativo verrà aggiunto/rimosso all'URL finale in base alle esigenze.
Nel tuo caso si potrebbe scrivere:
$location.path('/store/items').search('page', 2)
Ciò presuppone che si stanno manipolando gli URL da JavaScript, come affermato nella sua interrogazione.
risposta molto bella! funziona molto bene per me e molto più pulito di quello che ho fatto semplicemente perché non ho RTFM: D –
ya imparare qualcosa di nuovo ogni giorno ... Grazie per questa risposta – JT703
Sicuramente la risposta corretta. Un po 'di risucchio però se hai un URL precompilato da qualche altra parte nell'app che ora devi analizzare in 3 valori. Uh ... è cacca angolare. Owch! – Mark
È possibile utilizzare decodeURIComponent.
Ad esempio:
decodeURIComponent('http://url.com/my_app/#/store/items%3Fpage=2');
// will give you `http://url.com/my_app/#/store/items?page=2`
ho provato questo, ma non funziona, basta solo "?" – Amb
Non giocherellare con l'URL per te! Nel contesto angolare ci sono modi migliori di quello. Vedi la risposta di @ pkozlowski.opensource o ancora meglio usa $ state.go (a, parametri, opzioni) dove params è un oggetto che contiene i parametri della tua query definiti nel tuo stato e i loro valori non codificati. – aaki
Se si utilizza il servizio $ location, utilizzare invece $location.url('/store/items?page=2')
. Questo è stato un metodo setter da almeno 1.0.7 e funziona bene nella mia app 1.1.5.
Def la migliore risposta se tutto quello che hai è la stringa url. – Vakey
Se si sta utilizzando il ui-router che è altamente raccomandato, è possibile utilizzare $state.go(to, params, options)
come descritto here.
Come prerequisito è necessario definire correttamente il proprio stato, ovvero tutti i parametri di query possibili devono essere resi noti all'interfaccia utente. Vedere il seguente esempio (page
e otherParam
):
$stateProvider.
state('storeItems', {
url: '/store/items?page&otherParam',
templateUrl: '/modules/store/views/item.client.view.html'
});
E poi si può solo passare delle riprese per esempio da un controller chiamando
$scope.gotoItemsPage = function(page) {
$state.go('storeItems', {
page: page,
otherParam: 'Just a show off'
});
};
No giocherellare con la codifica necessaria e altamente leggibile!
è possibile creare un oggetto di parametri come:
var param = {
page: 2
}
$location.url("/store/items").search(param)
- 1. Punto interrogativo in JavaScript
- 2. Punto interrogativo nel mezzo di una variabile url?
- 3. % 3F anziché il punto interrogativo nel mio URL di retrofit
- 4. Doppio punto interrogativo, come funziona?
- 5. qual è il significato di? (Punto interrogativo) nella stringa url?
- 6. Punto interrogativo nella regola mod_rewrite regex
- 7. Sinatra e il punto interrogativo
- 8. Generics e il punto interrogativo
- 9. Come inserire un punto interrogativo sopra \ leq?
- 10. Punto interrogativo nella direttiva Richiede
- 11. Sostituire un punto interrogativo (?) Con (\\?)
- 12. Come abbinare il punto interrogativo "?" come regexp nella posizione nginx.conf
- 13. Akka in Scala, punto esclamativo e punto interrogativo
- 14. Android: come inserire il punto interrogativo in una risorsa stringa?
- 15. È valido avere più di un punto interrogativo in un URL?
- 16. Cosa significa punto interrogativo uguale a CoffeeScript?
- 17. Query Sqlite con il punto interrogativo
- 18. ConsoleKeyInfo, il punto interrogativo e portabilità
- 19. Segmento percorso MVC con un punto interrogativo?
- 20. Cosa fa l'operatore unario punto interrogativo (?)?
- 21. Erlang: cosa significa sintassi del punto interrogativo?
- 22. Informazioni sul punto interrogativo nell'espressione regolare
- 23. WebView visualizza un punto interrogativo in una casella blu
- 24. Qual è il punto di "javascript:" in codice (non URL)?
- 25. jquery rimozione di tutto dopo il punto interrogativo nell'url
- 26. phpMyAdmin mysql ha salvato Emoji come Punto interrogativo
- 27. attr_reader con il punto interrogativo in un nome
- 28. Cosa significa l'operatore del punto interrogativo in Ruby?
- 29. Cosa significa il triplo punto interrogativo in scala?
- 30. cosa è l'uso del punto interrogativo in SQL
Scegli questa http://www.w3schools.com/jsref/jsref_encodeuri.asp – 999k
dovrebbe il modello URL simile 'http://url.com/my_app/#/store/items/page/2' invece di 'http: //url.com/my_app/#/store/items? page = 2'. Come può essere più corretto avere '/' pattern al posto di '?' Pattern dopo il '#' – rajkamal
no voglio aggiungerlo solo in qurystring .. Il suo requisito // – Amb