我们有一些客户抱怨说,当他们尝试登录我们的网站时,会在浏览器上显示一个 SJON 字符串。
像这样的东西
{"cityname":"pune","userid":"173","email":"123@gmail.com","mobile":"xxxxxxxxx","areaid":"4","address":"xxxxx","user_status":"1","status":"1","login_status":1}
这是我们的 AJAX 登录请求返回的内容
$("li").delegate("input#user_login","click",function() {
var formData = $("#login_form").serialize();
$.ajax({
type: "POST",
url: global_url+"users/auth/login",
cache: false,
data: formData,
dataType: "json",
success: function(request){
if(request.login_status == 1) {
if(request.status == 0) {
window.location.reload();
}else if(request.status == 2) {
$("#tastykhana_user_password div.wrapper input[name='userid']").val(request.userid);
$.colorbox( { inline:true, href:"#tastykhana_user_password", onComplete: function() { $(".upload").colorbox.resize(); } } );
}else {
window.location.reload();
}
}else {
var message = "";
for(i=0;i<request.message.length;i++) {
if(request.message[i].error != '') {
log_error('auth','Login form error '+request.message[i].field);
message = message + request.message[i].error +' , ';
}
}
alert(message);
}
},
error: function(request, errorType, errorThrown){
log_error('auth','login 500 error');
}
});
});
我无法弄清楚这个问题,理想情况下,ajax 请求的成功处理程序应该在登录后刷新页面,而是从服务器请求返回的 json 字符串显示在浏览器中。这些问题发生在 OSx 系统上。