Intereting Posts
Простейший способ для вкладок только через фокусируемые потомки определенного элемента? Принудительно загрузить изображение, чтобы перестать мерцать? Как использовать jQuery для создания hashа с закладками? Как resize DIV, перетаскивая только одну сторону? Координаты щелчка мыши относительно верхнего левого угла родительского div Позиционирование CSS внутри DIV CSS Bootstrap закрывается модально и переходит к ссылке выравнивание по вертикали с помощью Bootstrap 3 html 5 позиционирование с или без div Вложенные tags HTML-привязки Новая справка, конвертирующая dataset XML, выход Datarid в HTML с использованием C #, .NEt 2.0 Добавление другого classа в первый div в цикле Iframe над мерцанием апплета Как вызвать функцию javascript (созданную из машинописного текста), захваченную в модуле «System.register ()» при использовании Google protobuf? jQuery – выбранный атрибут в параметрах не отображается в FireBug

jQuery html () и & amp;

Я делаю поиск в списке людей. И я хочу, чтобы он показывал результаты «на лету», и так оно и есть. Но есть одна ссылка, которая мне нужна, и она должна выглядеть так:

chatid=18&userid=45&create=new 

но после того, как результаты будут показаны через это:

 $.get('/ajax.php', {sec: 'search_users', ajax: 1, search_for: $(this).val()}, function(data) { $(".rBoxContentStaff").html(data); }); 

Я получаю этот результат:

 chatid=18&userid=45&create=new 

И ссылка не работает. Это похоже на html (), а также append ().

Я не нашел решения для этого, поэтому мне пришлось изменить запуск ссылки.

Вы сказали, что пытаетесь установить правильный путь ссылки?
Если да, попробуйте это

 $(".rBoxContentStaff").attr("href", data); 

.html() меняет & на html & ( & ), но с использованием .attr("href") устанавливает путь ссылки, и он также работает с & s

Вместо этого:

 $(".rBoxContentStaff").html(data); }); 

Попробуй это:

 $(".rBoxContentStaff").append(data); }); 

text () escapes html characters … Я ничего не могу найти о html () экранирующих символах (и, действительно, его документация, похоже, указывает на другое.
Однако после тестирования с предупреждением по предложению jmein он кодирует специальные символы. Append () не делает этого.

html специальные символы при запросе ajax, не интерпретируются браузером. Вот почему ссылки вышли именно так. Одна вещь, которую вы можете сделать, это заменить sstring в javascript:

 data = str.replace(/&/, "&"); 

Вы должны попробовать использовать функцию $ .ajax () вместо $ .get ().

С $ .ajax () вы можете указать свой тип данных самостоятельно (и использовать другие параметры).

Попробуйте что-то вроде этого:

 $.ajax({ type: "GET", url: "/ajax.php", data: "sec=search_users&ajax=1&search_for="+$(this).val(), cache: false, dataType: "html", success: function(html){ $(".rBoxContentStaff").html(html); } }); 

И есть также способ конвертировать получение только текста (

 $(').html(data).text() 

Это перемещает & to & , а также все другие специальные символы, такие как &imp; и т.д…