奇怪的Ajax 数据库更新问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 21:23:07
代码如下:
id=request.QueryString("id")
kind=request.QueryString("sort")
cont=request.QueryString("cont")

if id<>"0" then
'数据库连接(略)
if kind="password" then
sql="update 表名 set "&kind&"='"&Lcase(md5(cont))&"' where id="&id
else
sql="update 表名 set "&kind&"='"&cont&"' where id="&id
end if
response.Write(sql)
conn.execute(sql)
conn.close
set conn=nothing
end if
参数由Ajax提交过来,共有十个字段,都通过这一个sql语句,有8个都可以正常更新,只有两个字段不能更新,查看了数据库,字段名与类型都正确,(以常规方式提交能更新成功),responseText出来,提示UPdate错误,为什么其他的8个都可以更新成功,只有这两个不能更新呢,因为是同一个函数。
不是中文编码的问题,有一个字段是用户名,可以提交中文,没有问题的,就只有两个字段提交不上,而且提交的是数字,提示update语句错误,一样的函数,为什么有的可以提交成功,而有的不能提交成功呢?换成先打开记录集,再更新却可以成功,不知道原因

ajax 有浏览器缓存的

建议你将ajax传递的参数后面随便加个随机数,保持每次传递的URL都有些不同。

看看是不是编码的问题。如果那两个字段含有中文的话,可能就是这个问题了。
ajax默认传递的编码是utf-8。
发送页面和接收页面编码不设置好就可能出现问题。