jquery - 在Ajax调用后,IE和FF中的DOM损坏

标签 jquery ajax grails

在执行ajax callM时,我得到了IE和FF的奇怪行为; Chrome符合我的预期;)

在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">`

在所有经过测试的浏览器中,ajac调用都完成得很好,并到达了complete:function(XMLHttpRequest,textStatus){performAction(XMLHttpRequest)}回调,该回调也表现良好。
之后,只有FF和IE做一些奇怪的事情,并跳过整个DOM Modell,只留下一个简单的“false” 作为内容。

我发现,附加到Ajax调用return false<form onsubmit="jQuery.ajax({ ... ... });**return false**"对此行为负责。
return false出现在我所有的ajax调用中,但仅在这里会导致这种freekin结果。.ajax调用返回一些JSON,其中包含一些新的HTML,该HTML用于替换performAction(XMLHttpRequest)回调中的div层。

有什么想法为什么IE和FF会做这种奇怪的事情?

有谁有类似的问题吗?和/或可行的解决方案?

问候,

亚历克斯

最佳答案

事实证明,提交表单的链接实际上是使用href=javascript:tmpForm.onsubmit();表示法的。

IE和FF使用了字符串“javascript:tmpForm.onsubmit();”作为新文档URl并对其进行验证(将结果作为新内容发布),而Chrome刚刚执行了JS...。

似乎是我的失败;)

关于jquery - 在Ajax调用后,IE和FF中的DOM损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3767731/

相关文章:

c# - 通过 Ajax 将 Var 和列表传递给 Controller

javascript - 如何克隆一个元素而不每次都将元素数量加倍?

asp.net-mvc - 如何使用 MVC 和 jQuery AJAX 传递对象?

javascript - 防止 Ajax 和 PHP 中的重定向页面

Grails 设置语言环境不会改变语言

grails - 从gdoc创建PDF

web-services - 我应该在Gralis中使用xfire插件还是有更好的方法?

Javascript,循环一组指令(设置超时)

javascript - 同位素 - 组合按钮和 UI slider 不起作用

方法 ="put"的 Jquery 表单现已损坏