AJAX检测注册用户名是否已经存在,请高手帮忙!谢谢!

渣渣123456789 2009-03-02 11:58:08
第一次用AJAX,想实现很多网站注册页面删焦点移出文本框后,从DB中检索输入用户名是否存在的功能,现在,该功能实现了,但问题是:
我第一次进入注册页面,想注册一个数据库中已存在的用户时,可以告诉我该该用户名已存在!好,我注册一个不存在的用户名AAA,可以
通过,注册完成后,再回到注册页面,再注册一个相同的用户名AAA,AJAX的执行返回结果是该用户不存在,可以注册相同的用户名,
但提交表单时,添加失败,因为DB中用户名AAA确实已经存在,这是为什么呢?
...全文
754 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
ou_yangpengfei 2009-05-11
  • 打赏
  • 举报
回复
这个问题我也遇到过
aoin2006 2009-05-08
  • 打赏
  • 举报
回复
js--------------------------------------------------
var row = 0;
function showEmployee(text) {
row = ctl00_ContentPlaceHolder_Content_SmartGrid1_div.row;
var request = new Sys.Net.WebRequest();
request.set_url('../TempDepository/PTDHandler.ashx');
request.set_httpVerb("Post");
request.add_completed(onGetEmployeeComplete); //设置回调函数
var requestBody = String.format("TDID={0}", text);
request.set_body(requestBody);
request.invoke();
}

function onGetEmployeeComplete(request) {
row = ctl00_ContentPlaceHolder_Content_SmartGrid1_div.row;
var grid = ctl00_ContentPlaceHolder_Content_SmartGrid1_div;
if (request.get_responseAvailable()) {
if (request._xmlHttpRequest.responseText == "false") {
// grid.setCellValue(row, "TDID", "");
grid.setCellValue(row, "TDName", "");
}
else
grid.setCellValue(row, "TDName", request._xmlHttpRequest.responseText);
}
}

---------------------------------

ashx--------------------------------------------




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace SDERP.web.Handler
{
/// <summary>
/// $codebehindclassname$ 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class PTDHandler : IHttpHandler
{

SDERP.BLL.Produce.Produce_TempDepository MasterBLL = new SDERP.BLL.Produce.Produce_TempDepository();
SDERP.Model.Produce.Produce_TempDepository MasterMod = new SDERP.Model.Produce.Produce_TempDepository();
public void ProcessRequest(HttpContext context)
{
string value = "";
MasterMod = MasterBLL.GetModel(context.Request.Params["TDID"].ToString());

context.Response.ContentType = "text/plain";
if (MasterMod != null)
value = MasterMod.Name;
else
value = "false";

context.Response.Write(value);
}

public bool IsReusable
{
get
{
return false;
}
}
}
}
aoin2006 2009-05-08
  • 打赏
  • 举报
回复

js--------------------------------------------------
var row = 0;
function showEmployee(text) {
row = ctl00_ContentPlaceHolder_Content_SmartGrid1_div.row;
var request = new Sys.Net.WebRequest();
request.set_url('../TempDepository/PTDHandler.ashx');
request.set_httpVerb("Post");
request.add_completed(onGetEmployeeComplete); //设置回调函数
var requestBody = String.format("TDID={0}", text);
request.set_body(requestBody);
request.invoke();
}

function onGetEmployeeComplete(request) {
row = ctl00_ContentPlaceHolder_Content_SmartGrid1_div.row;
var grid = ctl00_ContentPlaceHolder_Content_SmartGrid1_div;
if (request.get_responseAvailable()) {
if (request._xmlHttpRequest.responseText == "false") {
// grid.setCellValue(row, "TDID", "");
grid.setCellValue(row, "TDName", "");
}
else
grid.setCellValue(row, "TDName", request._xmlHttpRequest.responseText);
}
}

---------------------------------

ashx--------------------------------------------

var row = 0;
function showEmployee(text) {
row = ctl00_ContentPlaceHolder_Content_SmartGrid1_div.row;
var request = new Sys.Net.WebRequest();
request.set_url('../TempDepository/PTDHandler.ashx');
request.set_httpVerb("Post");
request.add_completed(onGetEmployeeComplete); //设置回调函数
var requestBody = String.format("TDID={0}", text);
request.set_body(requestBody);
request.invoke();
}

function onGetEmployeeComplete(request) {
row = ctl00_ContentPlaceHolder_Content_SmartGrid1_div.row;
var grid = ctl00_ContentPlaceHolder_Content_SmartGrid1_div;
if (request.get_responseAvailable()) {
if (request._xmlHttpRequest.responseText == "false") {
// grid.setCellValue(row, "TDID", "");
grid.setCellValue(row, "TDName", "");
}
else
grid.setCellValue(row, "TDName", request._xmlHttpRequest.responseText);
}
}

wdmcsoft 2009-05-08
  • 打赏
  • 举报
回复
去我的站看看吧,里面有

http://www.rc0359.com/reg.asp


这里有你要的功能!!
QQ87465335 2009-05-05
  • 打赏
  • 举报
回复
又学习了,缓存
  • 打赏
  • 举报
回复
更正下,是setRequestHeader

ajaxObj.setRequestHeader("content-type","application/x-www-form-urlencoded")
  • 打赏
  • 举报
回复
get方法在ie下会有缓存问题


如果改为post方法没缓存问题,不过注意要设置头

ajaxObj.setRequest("content-type","application/x-www-form-urlencoded")
码代码 2009-05-04
  • 打赏
  • 举报
回复
1、浏览器缓存
2、数据库的数据没有在现实页面的时候刷新
kjl1225 2009-05-04
  • 打赏
  • 举报
回复
//设置请求的servlet和param.带上time是为了不让浏览器缓存结果
var url = "indexServlet?username=" + username+ "&requestTime="+ new Date().getTime();
xmlHttpRequest.open("get",url,true);
dengzhongwen 2009-05-04
  • 打赏
  • 举报
回复
顶一下
ZhuxiaowenLinda 2009-05-04
  • 打赏
  • 举报
回复
DWR可能就不会那样了。
xiongzhijian 2009-05-03
  • 打赏
  • 举报
回复
mark
小_Y 2009-05-03
  • 打赏
  • 举报
回复
貌似昨天我做的已经出来了。
代码没在。。
micg2233 2009-04-24
  • 打赏
  • 举报
回复
你的例子能发一份来吗,我这也想学习一下xiaoming8628@qq.com
polimo 2009-03-26
  • 打赏
  • 举报
回复
加个随机数就行。
lemonysmile 2009-03-25
  • 打赏
  • 举报
回复
好好学习之
Neil198 2009-03-24
  • 打赏
  • 举报
回复
Mark
ylc0104 2009-03-24
  • 打赏
  • 举报
回复
你嫌麻烦做个页面跳转
「已注销」 2009-03-23
  • 打赏
  • 举报
回复
代码贴出来看看!
zb1999 2009-03-22
  • 打赏
  • 举报
回复
加载更多回复(15)

52,787

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧