使用对某些CakePHP函数的JQuery / AJAX调用将所有内容加载到我的页面中,并将响应HTML转储到容器DIV中。
在将新页面注入容器DIV之前,页面通常包含我想要POST的表单。当用户点击主页按钮时,将完成此POST。
表单数据通过POST发送到CakePHP函数,然后在die()之前保存数据并回显“保存完成”消息。然后在调用我的post函数后将主页加载到容器div中。
问题是,有时它并不总是保存我的表单数据。
有两种情况:
1 - 保存工作。响应代码为200.响应数据为“保存完成”
2 - 保存不起作用。响应代码(根据我的js函数)是200,因为我提醒它。但是,在这种情况下,Chrome表示响应为302.响应数据包含我的主页。我的cakephp代码在我发布的函数中没有重定向。
我的主页按钮:
function ajaxLoad(url) {
saveThisPage();
$.ajaxSetup ({// Disable caching of AJAX responses
cache: false
});
$('#content').load(url, function(response, status, xhr));
return false;
}
saveThisPage =function() {
var roc_data = $("#CustomerRocForm").serialize()
var roc_url = '/customers/roc'
$.ajaxSetup ({
cache: false
});
$.post(roc_url, roc_data, function(roc_response, roc_status, roc_xhr) {
alert(roc_xhr.status)
});
}
TL; DR:
用户点击主页按钮。这个帖子在当前页面上形成,然后将主页加载到容器div中。表单提交POST有时返回302
答案 0 :(得分:0)
我将此参数添加到saveThisPage(),它现在似乎正在工作。我希望POST是异步的,因为它会在等待响应时减慢页面加载速度,但至少它的工作正常。
$.ajaxSetup ({
cache: false,
async: false
});