我做的一个ajax不总是达不到我要的效果。显示错误,大家帮我看看。
function UserNameExist() {
var loginName = $('#txtUserName').val();
if (loginName == "" || loginName.length < 2) {
return;
}
$('#tip_userName').append("正在检查用户名是否存在....");
$.ajax({
url: 'WebForm1.aspx',
type: 'post',
data: {mType:3},
dataType: "json",
cache: false,
success: function(data) {
if(data.mType=="3")
{
$('#tip_userName').html('登录用户名<strong>"' + data + '</strong>"已存在,请使用其它登录用户名');
}
else
$('#tip_userName').html('登录用户名<strong>dd</strong>"已存在,请使用其它登录用户名');
//else
//$('#tip_userName').html("登录用户名输入成功");
},
error: function(data) {
$('#tip_userName').html(data.responseText);
}
});
}
下面是WebForm1.aspx页面程序:
int MeetType = 1;
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "application/json";
if (!string.IsNullOrEmpty(Request.Params["mType"]))
{
int.TryParse(Request.Params["mType"], out MeetType);
Response.Write("{mType:'" + MeetType + "'}");
Response.End();
}
else
{
Response.Write("{mType:'0'}");
Response.End();
}
}
你的jQuery版本?是1.4+的后台的返回应该这样{"mType": '0'},注意mType两边必须有双引号
楼上说的是,这么写:Response.Write("{\"myType\":\"" + MeetType + "\"}");
换成juqery1.3的话,你这么写法就可以,我测试过了