я получаю странное поведение IE и FF при выполнении ajax callM; Хром у меня работает как положено;)
В Grails я использую тег <g:formRemote/>
, который приводит к следующему коду:
<form onsubmit="jQuery.ajax({type:'POST',
data:jQuery(this).serialize(),
url:'/url/morUrl',
success:function(data,textStatus){},
error:function(XMLHttpRequest,textStatus,errorThrown){}
complete:function(XMLHttpRequest,textStatus){performAction(XMLHttpRequest)}
});return false"
method="POST"
action="/url/morUrl"
name="tmpForm"
asynchronous="false"
id="tmpForm">`
В ALL протестированных браузерах вызов ajac выполнен хорошо и достиг обратного вызова complete:function(XMLHttpRequest,textStatus){performAction(XMLHttpRequest)}
, который также хорошо работает.
После этого только FF и IE делают что-то странное и пропускают весь DOM Modell с помощью простого "false" , оставленного в качестве содержимого.
Я выяснил, что return false
, добавленный к Ajax Call, <form onsubmit="jQuery.ajax({ ... ... });**return false**"
отвечает за это поведение.
return false
появляется во всех моих вызовах ajax, но только здесь это приводит к этому результату freekin. Вызов ajax возвращает некоторый JSON с некоторым новым HTML внутри, который используется для замены слоя div внутри обратного вызова performAction(XMLHttpRequest)
.
Есть идеи, почему IE и FF делают эту странную вещь?
У кого-нибудь есть подобные проблемы? и / или рабочий раствор?
С уважением,
Alex