我有一个表单,提交后会转到blah.php
. 问题是,blah.php
离开站点到另一个域。JQuery 看到了这一点并给出了一个302 Object Moved error
. 所以我不得不使用JSON
并AJAX
发送表格。注释详细信息在下面的 Jquery 代码中。
流程应该是单击按钮,检查服务器端,如果没有'ok'
响应,则在状态 div 中输出响应并停止该页面上的所有服务器端。如果'ok'
是响应让表单继续前进
快速模拟我的代码
<form id="ppform" method="post" action"blah.php">
<input id="someid" type="text" />
<button id="sendbutton">Send</button>
<div id="status"></div>
</form>
$(document).ready(function(){
$(document).on('click', '#sendbutton', function(){
$('#status').empty();
$.ajax({
type: "POST",
url: "blah.php",
data: reqBody,
dataType: "json",
success:function(data,textStatus){
// here I want the div to return data if the response isn't 'ok'
if(data!='ok'){
$('#status').append(data);
}else{
// response was 'ok' so empty div,
// show loading gif and submit the form
$('#status').empty().html('<div id="proc">Processing</div><img src="loading.gif" />');
if (data.redirect){
window.location.href = data.redirect;
} else {
$("#ppform").replaceWith(data.form);
}
}
}
});
});
});