Я знаю, что jquery / ajax в IE - распространенная проблема. Здесь есть много полезных советов по переполнению стека, но ни один из них мне пока не помог.
Следующий код прекрасно работает в Firefox, но не в IE:
$.ajaxSetup({ cache: false })
$.ajax({
url: 'FunDataService.asmx/' + funDataMethod,
type: 'POST', dataType: 'html', cache: false, timeout: 3000,
error: function() {alert('Error updating fun information. Refresh the page and try again.');},
success: function(htmlFunInfo) {
alert($(htmlFunInfo).text());
$("#fundiv").html($(htmlFunInfo).text())},
data: parameters
});
Вы можете увидеть мои попытки кеширования ; Я также добавил случайные значения в URL. Я также попытался добавить различные заголовки контента в веб-сервис:
' Context.Response.ContentType = "text/html; charset=utf-8"
' Context.Response.ContentType = "text/html"
Context.Response.ContentType = "text/plain"
Команда alert предназначена для отладки. В FF $(htmlFunInfo).text()
- это теги div, отправленные с сервера, который я хочу вставить. В IE это пустая строка.
Кто-нибудь знает, как получить доступ к этому строковому значению в IE? Спасибо!
Редактировать
Ответ от сервера выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="tempuri.org/">
<div>stuff</div>
<div>more stuff</div>
</string>
Я все больше думаю, что это не так, что мне нужно избегать обтекания div.
Редактировать 2 Вот и все! В коде моего сервера я заменил:
Return RemarkHtml
с
Context.Response.Write(RemarkHtml)
Это позволило избежать тегов, окружающих div, и теперь я в порядке. Тем не менее, я думаю, что это большая проблема, что в IE вы просто не можете получить доступ к тегам с помощью .text ().
Спасибо, ребята!