javascript
  • jquery
  • 2014-10-29 2 views 1 likes 
    1

    Я связываю div с списком изображений, который возвращался с помощью метода на стороне сервера.Url-кодировка в javascript

    Как показано ниже:

    $("#GalleryPhotos").append("<div class='thumbnail'><a rel='group1' data-caption='caption' class='fancybox' href=" + data.d[i] + "><img height='120' width='150' src=" + data.d[i] + "></img></a> </div> "); 
    

    я получить полный URL

    < img src= "/UploadedFiles/Gallery/CricketAlbum/5335.jpg" /> 
    

    Он правильно показывает, если нет места в имени файла, но в случае, если есть пробел в имени файла он оказывает как:

    < img src="/UploadedFiles/Gallery/Birdst" album="" sample_05.jpg="" /> 
    

    Я попытался Javascript построен в функции кодирования, как этот SRC = "+ encodeURI (data.d [я]) +" Но все-таки мой IMG получать визуализируется как во втором case..Please помочь мне кто-то

    +4

    Кстати, '' является элементом пустоты, у него нет закрывающего тега. И если вы добавляете к существующему URL-адресу, вы хотите 'encodeURIComponent()', а не 'encodeURI()'. –

    +1

    Нет, вы должны сделать decodeURI правильно? –

    +0

    Я думаю, что mi8 не будет проблемой, если это реальная проблема, все имена изображений с пространством и с пространством should't hv rendred..plz исправить меня, если im wrong – user3452210

    ответ

    2

    Как было предложено @DavidThomas использовать encodeURIComponent():

    .. width='150' src='" + encodeURIComponent(data.d[i]) + "'></a> .. 
    

    Специальное примечание

    основная причина этого не работает, потому что вы не надевали значение src в кавычках. Фактически вы писали:

    <img src=/UploadedFiles/Gallery/Birdst album sample_05.jpg /> 
    

    Который обработал бы в странных атрибутах, которые вы видели. Однако, если вы цитировали значения, URL, возможно, также работали:

    < img src='/UploadedFiles/Gallery/Birdst album sample_05.jpg' /> 
    

    код должен был быть:

    .... src='" + data.d[i] + "'>.... 
    

    Или:

    .... src=\"" + data.d[i] + "\">.... 
    

    Теперь, когда вы знаете, тем не менее, гораздо безопаснее избегать URL-адресов, поскольку неэкранированные символы могут приводить к нежелательным результатам в определенной системе:

    .... src=\"" + encodeURIComponent(data.d[i]) + "\" .... 
    
    +0

    просто encodeURIComponent работает для я ... но то, что вы предложили, тоже достойно – user3452210

    +0

    Отлично! Примите этот ответ 'iff', это было полезно. – PeterKA

    +0

    Но, честно говоря, ответ был первым gven by @David .... + 1 для u Pete ;-) .. cheers – user3452210

    Смежные вопросы