2009-12-14 4 views
0

Я сделал домашнее задание и просмотрел SO безрезультатно. Я даже перешел от $ .post к $ .ajax, чтобы очистить все. Также нет кеширования.jQuery POST/AJAX не отображается в IE, работает в FF

$('#send').click(function() { 
    $.ajax({ 
     url: "submit.php?ts="+new Date().getMilliseconds(), 
     cache: false, 
     type: 'POST', 
     dataType: 'text', 
     data: $("#myform").serialize(), 
     success: function(data){ 
       $('#myspan').html(data); 
     } 
     }); 
    }); 

форма выглядит следующим образом:

<span name="loading" id="loading"></span> 
<div id="myspan"></div> 
<form onsubmit="return false;" method="post" action="#" name="myform" id="myform"> 

и т.д ...

Что я делаю неправильно? Это прекрасно работает в Firefox, но ничего не происходит в IE. Действительно странная часть состоит в том, что alert(data) отобразит нужное содержимое в окне предупреждения в IE. В div «myspan» нет никакого стиля или CSS.

+0

Есть ли IE какие-либо ошибки? –

+0

Ошибка. – Rio

ответ

1

Проблема заключалась в том, что

<span name="loading" id="loading"></span> 
<div id="myspan"></div> 

были помещены в <table> тега.

Глупый IE.

grr.

0

Кажется, вы ожидаете простой строки в качестве ответа: dataType: 'text'. Вы уверены, что это то, что вы возвращаете, и что вы также отправляете соответствующий заголовок (content-type: 'text/plain')

0

Я предполагаю, что у вас есть кнопка отправки #send внутри формы?

Как о попытке

var form=$('form#myform').submit(function(){ 
    //ajax, update html 
    return false; 
}); 
$('#send').click(function(){ 
    form.submit(); 
    return false; 
}); 
Смежные вопросы