在Ajax->提交如何找到提交成功

时间:2009-07-21 06:23:46

标签: cakephp

我有一个包含隐藏<div>的视图。我展示了隐藏的<div>,当我点击隐藏<div>中的提交时,我想知道结果是成功还是失败。

如果失败,<div>一定不能隐藏。现在,它总是被隐藏。

2 个答案:

答案 0 :(得分:0)

示例代码:

var element = document.getElementById(element_id);
        element.innerHTML = '<p><em>Loading ...</em></p>';
        xmlhttp.open("GET", fragment_url);
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                element.innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.send(null);

xmlhttp.readyState在处理Ajax请求并且服务器响应时发生更改。 xmlhttp.status为您提供服务器的返回码 xmlhttp.responseText为您提供服务器的响应 - 您可以使用它来确定您的业务逻辑是成功还是失败(发送一些错误信息并在此处检查)

答案 1 :(得分:0)

@Cherian&amp; @Pradeep没有提到你应该拦截你的表单的onsubmit处理程序。此处理程序应执行AJAX样式表单提交,并通过返回“false”来阻止默认提交。

<form action="submissionurl" method="post" onsubmit="formHandler(); return false;">
  ...
</form>

我还建议使用jquery,因为它通过大量提交简化了代码