[英]Control a request when a jQuery Ajax call done
我正在使用$.post()
使用Ajax调用服务器,然后使用JTemplate
将数据写入当前页面。 但是,如果会话超时,服务器会发送重定向指令以将用户发送到登录页面。 在这种情况下, jQuery
将div
元素替换为登录页面的内容,迫使用户的眼睛确实见证了罕见的场景。
如何使用jQuery 1.9
从Ajax
调用管理重定向指令?
您必须使用json数据来响应客户端。 例如:在PHP文件中
<?php
//for example, data you want to response to client is a html string
$data = '<table></table>';
if($is_timeout && $is_ajax_request) {
//shouldn't redirect, should return json_encode
echo json_encode(array('timeout'=>1));
die();
}else{
echo json_encode(array('data'=>$data));
die();
}
在您的javascript post
您可以在下面进行编辑:
$.post('your_url_to_php_file',{data:data_to_post}, function(resp){
var data = jQuery.parseJSON(resp);
if(data.timeout) {
alert("timeout");
return;
}else{
$("#your_div").html(data.data);
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.