最近遇到的一个问题,从前端使用ajax请求后端接口,本地环境和测试环境都可以正常进行访问并返回处理结果,但是运行到正式环境后,页面调试请求的response是一个页面,状态码则是302,以下是部分代码
var param1 = $("#param1").val();
var param2 = $("#param2").val();
$.ajax({
type : "post",
url : "${path}/method.do",
data : {param1:param1,param2:param2},
dataType : "json",
async : false,
success : function(data)
{
if (data.status == 1)
{
$(this).showAlert(
{
content : "修改成功",
sureBtn : "关闭",
sureFn : goAuditingList
});
}
else
{
$(this).showAlert(
{
content : data.message,
cancelBtn : "关闭"
});
return;
}
},
error : function()
{
$(this).showAlert(
{
content : "网络异常",
cancelBtn : "关闭"
});
return;
}
});
后端的代码
@RequestMapping("method")
public void method(HttpServletResponse response, String param1, String param2)
{
try
{
if (StringUtils.isBlank(param2))
{
WriteUtil.writeJson(CommonConstants.RESULT_ERROR, "参数异常", null, response);
return;
}
MyClass class = myClassService.findById(param1);
Date newDate = DateUtils.getBeforeNumDay(class.getModTime(), -Integer.valueOf(param2));
class.setModTime(newDate);
myClassService.update(class);
WriteUtil.writeJson(CommonConstants.RESULT_SUCCESS, "更新完成", null, response);
} catch (Exception e)
{
WriteUtil.writeJson(CommonConstants.RESULT_ERROR, "系统异常", null, response);
}
}
正常的返回值应该是
{"message":"更新完成","state":1}
但是在正式环境中,无法正常访问该接口,且状态码是302。
需要说明的是,测试环境和正式环境都使用了nginx并配置了https
请问这种情况是什么因素引起的?