问题:
如下代码所示,我用AJAX收到来自url: ‘kzkj_check.jsp‘,返回的数据msg,总是包含页面的html数据,可是我只想要我返回的数据“false”,
$.ajax({ url: ‘kzkj_check.jsp‘, async:false, data: ‘un=‘+ $(‘#userName‘).val() +‘&pw=‘ + $(‘#passWord‘).val(), type: "get", success: function(msg){ if(msg.toString().trim() != "ERROR") //TRUE,return username;Message Sent, check and redirect { // and direct to the success page //alert("name true "+msg.toString().trim()+"=="); $("#msgbox").html(‘Login Verified, Logging in.....‘).addClass(‘myinfo‘).fadeTo(900,1, function() { document.location=‘kzkj_login.jsp?user=‘+msg; }); }
返回的部分AJAX信息如下:
false <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>xxxxxxxx</title> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #999999; } --> </style> <link href="css/index.css" rel="stylesheet" type="text/css" /> </head>
我在url: ‘kzkj_check.jsp‘页面写入的信息只有以下几句:
if(haveUserInDB == "false") response.getWriter().write("ERROR");
else response.getWriter().write("TRUE");
通过以下方式可以直接获得想要的返回值,"ERROR"或者"TRUE"。
1.在url: ‘kzkj_check.jsp‘页面的写入信息的方法不要用response,用以下方式:
out.clear();
if(haveUserInDB == "false") out.print("ERROR");
else out.print(user);
其中out.clear();是将其中的html页面信息删除!
现在可以得到如下AJAX返回信息:
" ERROR "
包含很多空格,可以在AJAX方法里这么写success: function(msg){ if(msg.toString().trim() != "ERROR")…………}
就可以去除其中的空格,得到想要的返回值"ERROR"或者"TRUE",就像这样:
$.ajax({
url: ‘kzkj_check.jsp‘,
async:false,
data: ‘un=‘+ $(‘#userName‘).val() +‘&pw=‘ + $(‘#passWord‘).val(),
type: "get",
success: function(msg){
if(msg.toString().trim() != "ERROR") //TRUE,return username;Message Sent, check and redirect
{ // and direct to the success page
//alert("name true "+msg.toString().trim()+"==");
$("#msgbox").html(‘Login Verified, Logging in.....‘).addClass(‘myinfo‘).fadeTo(900,1,
function()
{
document.location=‘kzkj_login.jsp?user=‘+msg;
});
}