私はgrailsアプリケーションのwebflowにsubmitToRemoteボタンを使用しようとしています。私はjQueryを使ってAjaxを処理しています。私は、これはファイアーフォックスとChromeに動作しますが、任意の形式のデータを提出していない...jquery grailsフォームはIEで動作しません
def remoteWebFlowSubmit = {attrs, body ->
def elementName = attrs['name'].replaceAll(/ /, "_")
def button = submitToRemote(attrs, body) //<-- standard grails submitToRemote button
button = button.replaceFirst(/data\:jQuery/, "data:\'_eventId_${elementName}=1&\'+jQuery")
out << button
}
をウェブの流れの中にも、そのようにEVENTIDをアタッシュケースするsubmitToRemoteボタンを変更するカスタムタグライブラリを作成しましたIE 9,8、または7で生成されたボタンがIEで次のようになります。私は間違って何をやっている
<input name="next" onclick="showSpinner('webFlowContainer');;jQuery.ajax({type:'POST',data:'_eventId_next=1&'+jQuery(this).parents('form:first').serialize(), url:'/MySite/MyController/run?execution=e3s1',success:function(data,textStatus){jQuery('#webFlowContainer').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){jQuery('#webFlowContainer').html(XMLHttpRequest.responseText);}});return false" type="button" value="Next"/>
?私はJSコンソールにエラーは見られません。
UPDATE:
1)私はまた、キャッシュされたAjax応答を防ぐために、Grailsのフィルターを追加しました。ここでは、フィルタは次のとおりです。
class AjaxFilters {
def filters = {
all(controller:'*', action:'*') {
before = {
if (request.getHeader('X-Requested-With')?.equals('XMLHttpRequest')) {
response.setHeader('Expires', '-1')
}
}
}
}
}
JSエラーはありますか?あなたの 'ajax'呼び出しの' error'ブロックにロギングを入れると、それを空白のままにするのはどうでしょうか? –
質問を更新し、エラーブロックを追加しました。 jsエラーはありません。 –