2010-07-01 77 views
0

伙计们,当我提交表单时,页面被重定向到结果,而不是留在同一页面上。在服务器端,我有一个PHP是吐出这样一个简单的状态代码:jQuery ajax重定向

echo '<span>Success/Error</span>'; 
exit; 

,这是我的要求:

jQuery.ajax({ 
    type: "POST", 
    url: "ajax.php", 
    data: dataString, 
    success: function() { 
    alert('Transmitted, but no result'); 
    }, 
    error: function() { 
    alert('NOT sended'); 
    } 
}); 

形式本身的简单:

echo '<form method="POST" enctype="multipart/form-data">'; 

顺便说一句,有人可以帮我解释为什么成功/错误函数不被调用?

+0

这听起来像你在某处发生JavaScript错误(并且默认操作正在发生),你能检查你的控制台吗?什么是'dataString'? – 2010-07-01 21:56:58

+0

没有控制台错误,至少Firebug不显示任何东西。 – Anonymous 2010-07-01 21:57:45

+0

触发AJAX请求的是什么?是否有附加到表单或其他东西的'onsubmit'事件? – ceejayoz 2010-07-01 22:01:29

回答

-1

从表单标签

+0

1.该属性是必需的。 2.删除它只会导致表单提交到当前的URI作为浏览器错误恢复。这个问题清楚地表明它已经失踪。 – Quentin 2010-07-01 22:08:50

+0

其实它没有错过它,我没有尝试过它,并且正如你所说的它转换成了一个GET请求。 – Anonymous 2010-07-01 22:30:26

+0

浏览器将来自HTML表单和JS XHT请求的请求视为两个单独的实体,这是正确的。如果您使用dataString变量发送ajax请求作为帖子,则html表单元素与此无关。 – Incognito 2010-07-02 13:14:55