2011-12-19 26 views
6

Alma yönteminde% 20 kaldırılıyor mu? % 20 değeri alma yönteminden kaldırılıyor

var c=new Array(a);  
(eg: a={"1","2"}) window.location="my_details.html?"+ c + "_"; 

ve my_details.html içinde

:
var q=window.location.search;  
alert("qqqqqqqqqqqqq " + q); 
var arrayList = (q)? q.substring(1).split("_"):[];  
var list=new Array(arrayList);  
alert("dataaaaaaaaaaaa " + list + "llll "); 

ve onun bana "1%202" dusplaying "listesinde" in

; Bu %20 =space değerini nasıl kaldırabilirim?

Teşekkür

+0

için 'list 'parametresi gibi yapacağınız olmak ne yerine() yöntemini değiştirmek kullanılır? '1,2'? – jabclab

cevap

7

sadece bu kullanın: Sorunun bu çizgide tanıtılıyor görebilirsiniz kadarıyla http://www.w3schools.com/jsref/jsref_decodeURIComponent.asp

+1

Lütfen W3Schools'a bağlantı oluşturma. Çok sık yanlışlar. (Bu sayfanın yarısı, "Bileşen" bölümünü unuturlar ve bunun yerine iyi bir örnek oluşturmayan ve daha sonra W3Schools'un sahip olduğu en iyi sayfalardan biri olmayı başarabilen tam URL'leri kaydetmeye başlarlar). – Quentin

+0

Onlardan daha iyi bir kaynağınız var mı? Aslında daha iyi bir örneği olan bir sayfa bulamıyorum. – evildead

+0

MDN genellikle daha iyi, ancak bu durumda aslında bir şeyler atıyor: https: //developer.mozilla.org/tr/JavaScript/Reference/Global_Objects/decodeURIComponent – Quentin

0

parametre (ler) de bir boşluk varsa, o zaman %20 (URL Kodlama) gereklidir. GET isteğinde boşluk bırakamazsınız.

Bundan kaçınmanız gerekiyorsa, POST kullanın.

+0

alan yok. Orada% 20'nin nasıl eklendiğini bilmiyorum. POST kullanamıyorum. Bunu GET kullanarak nasıl çözebilirim? – Smitha

+0

@Sneha, bunun neden olduğundan emin değilim, ancak '% 20'yi gerçek bir alana dönüştürmek için' unescape (text) 'işlevini kullanabilirsiniz. Umarım yardımcı olur. – st0le

+0

'unescape' kullanımdan kaldırıldı. Kullanma. – Quentin

0

:

alert("dataaaaaaaaaaaa " + decodeURIComponent(list) + "llll "); 

Bu burada %20

space için göz deşifre etmelidir

window.location="my_details.html?"+ c + "_"; 

Bu olabilir olarak yazılır:

window.location="my_details.html?"+ c.toString() + "_"; 

kullanılmakta olan sınırlayıcı bir boşluk olduğu görülmektedir Eğer örnekte JavaScript Array ait.toString(), bir ayırıcı kullanmak olacaktır varsayılan, yani

var str = ["1", "2", "3"].toString(); // 1,2,3 

. Bu, Array.prototype'daki .toString() varsayılan davranışını değiştirerek bir şey tarafından değiştirilmiş olabilir. Aşağıdaki kullanmayı deneyin: Daha iyi

window.location="my_details.html?"+ c.join(",") + "_"; 
0

%20space

list.replace("%20"," ");