Qual é uma maneira fácil de remover a string de consulta de um caminho em Javascript? Eu vi um plugin para Jquery que usa window.location.search. Não posso fazer isso: o URL no meu caso é uma variável definida no AJAX.
var testURL = '/Products/List?SortDirection=dsc&Sort=price&Page=3&Page2=3&SortOrder=dsc'
javascript
jquery
Mathias F
fonte
fonte
split('?', 1)[0]
.?
é uma string literal, não uma expressão regular..split(/[?#]/)[0]
?2ª Atualização: Na tentativa de fornecer uma resposta abrangente, estou comparando os três métodos propostos nas várias respostas.
Resultados no Firefox 3.5.8 no Mac OS X 10.6.2:
Resultados no Chrome 5.0.307.11 no Mac OS X 10.6.2:
Observe que o método de substring é inferior em funcionalidade, pois retorna uma string em branco se o URL não contiver uma string de consulta. Os outros dois métodos retornariam o URL completo, conforme o esperado. No entanto, é interessante notar que o método de substring é o mais rápido, especialmente no Firefox.
1ª ATUALIZAÇÃO: Na verdade, o método split () sugerido por Robusto é uma solução melhor que a sugerida anteriormente, pois funcionará mesmo quando não houver string de consulta:
Resposta original:
fonte
Esta pode ser uma pergunta antiga, mas tentei este método para remover parâmetros de consulta. Parece funcionar sem problemas para mim, pois eu precisava de uma atualização também combinada com a remoção de parâmetros de consulta.
Além disso, como estou usando uma operação simples de adição de cadeias, acho que o desempenho será bom. Ainda vale a pena comparar com trechos nesta resposta
fonte
Uma maneira simples é fazer o seguinte
fonte
Se você gosta de RegEx ....
fonte
a++;
. Corrigindo os testes, no meu Firefox 3.6 em um iMac 2.93Ghz Core 2 Duo, recebo 8ms para o RegEx e 3ms para o método split ... No entanto, +1 para a resposta, porque ainda é outra opção.match()
retorna um objeto. Você provavelmente não quer isso. LiguetoString()
para ele (ou+''
).fonte
Se você usar o backbone.js (que contém
url anchor
como rota), o URLquery string
poderá aparecer:antes
url anchor
:depois de
url anchor
:Solução:
fonte
Uma abordagem usando o padrão
URL
:fonte
Se você precisar executar uma operação complexa na URL, consulte o plug-in do analisador de URLs do jQuery .
fonte
Foi assim que fiz, também tem suporte para RegEx.
fonte