2016-03-18 12 views
2

Rails'de bir AJAX isteği yapıyorum ve bunu çalıştırdıktan sonra, URL'yi değiştirmek ve orada tüm parametreleri koymak istiyorum. Bu yüzden çalıştıJavascript - "history.pushState", "&" ile düzenli "&" değiştirir. Nasıl önlenir?

console.log("<%= @url_params %>"); 
# => /members/info/detail?currency=usd&amp;year=2016 

:

var url = "<%= @url_params %>"; 
var replaced_url = url.replace("&amp;", "&"); 
# => /members/info/detail?currency=usd&amp;year=2016 

JS dosyasına,

@url_params = request.original_fullpath 
# => /members/info/detail?currency=usd&year=2016 

Ardından: Ben Raylar denetleyicisi göreli URL'yi nasıl elde

Yani bu ama işe yaramıyor.

history.pushState("", "", replaced_url);'u yaptığımda, URL yalnızca & yerine $amp; olur.

URL, &amp; karakterleri olmadan nasıl itilir?

, url dizesinin tek yedek işe yaramaz çünkü bunların birden & 'ın, var gibi görünüyor Eğer

+0

denemek almak için çıktı ... – dandavis

+0

'&' sadece html kodlar '&' – Ilya

+0

'nu temsil eden sembol, evet, ve bununla çalışıyor, ama ben sadece bunun hakkını almaya çalışıyorum ve URL'yi "klasik" '' '' '' '' '' '' 'formatta gösteriyorum. – user984621

cevap

0

kodlanmamış çıktı senin varlıkları dönüştürme JS değil

var url = "<%=raw @url_params %>"; 
+1

Bu Muhtemelen güvenlidir, ancak yapmak için daha güvenlidir 'var url = <% = raw @ url_params.to_json%>; '. –

0

değişiklik

var replaced_url = url.replace("&amp;", "&"); 

var replaced_url = url.replace(/&amp;/g, '&'); 

için teşekkür ederiz, bu yüzden dikkate Grup böyle şeyler için yerini alır.

hakkında daha fazla bilgi: Varsayılan raylar html tarafından inanıyoruz http://www.w3schools.com/jsref/jsref_replace.asp

+0

Teşekkürler @ ameenulla0007, bu makaleyi buldum ve bu yaklaşımı denedim, ancak hiçbir şekilde işe yaramadı. URL'ye hala '& '. – user984621

+0

lütfen, bir örnek url ile bir keman yayınlamayı deneyebilir misiniz, ne yapmaya çalıştığınızı, böylece onunla çalışmayı düşünebilirim .. bu arada denedim kemanımı kontrol et: https://jsfiddle.net/3w5zhufn/ – ameenulla0007

İlgili konular