jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 修复从GET请求到CherryPy的404:缺少参数错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用CherryPy制作一个网页,用于客户端的服务器端,HTML,CSS和jQuery.我也在使用MysqL数据库.

我有一个工作表单供用户注册站点 – 创建用户名和密码.我使用jQuery向CherryPy发送一个AJAX POST请求,该请求查询数据库以查看该用户名是否存在.如果用户名存在,请提醒用户,如果不存在,请将其添加数据库并提醒成功.

$.post('submit',postdata,function(data) {  
    alert(data);  
});

成功的jQuery POST.

我想更改表单,以便不是在提交时检查用户名是否存在,而是从用户名输入的blur事件中获取GET请求.该函数调用,它转到CherryPy,但后来我收到一条错误httpError:(@L_772_24@,’Missing parameters:username’).

$.get('checkUsername',getdata,function(data) {
    alert(data);
});

不成功的jQuery GET.

CherryPy:

@cherrypy.expose
def submit(self,**params):
    cherrypy.response.headers['Content-Type'] = 'application/json'
    e = sqlalchemy.create_ENGIne('MysqL://MysqL:pw@localhost/6470')
    c = e.connect()
    com1 = "SELECT * FROM  `users` WHERE  `username` =  '" + params["username"] + "'"
    b = c.execute(com1).fetchall()
    if not len(b) > 0:
        com2 = "INSERT INTO `6470`.`users` (`username`,`password`,`website`,`key`) VALUES ('"
        com2 += params["username"] + "',MD5( '" + params["password"] + "'),'',null);"
        a = c.execute(com2)
        c.close()
        return simplejson.dumps("success!")
    c.close()
    return simplejson.dumps("This username is not available.")

@cherrypy.expose
def checkUsername(self,userName):
    cherrypy.response.headers['Content-Type'] = 'application/json'
    e = sqlalchemy.create_ENGIne('MysqL://MysqL:pw@localhost/6470')
    c = e.connect()
    command = "SELECT * FROM  `users` WHERE  `username` =  '" +  username + "'"
    a = c.execute(command).fetchall();
    c.close()
    sys.stdout.write(str(a))
    return simplejson.dumps("")

我看不出两者之间有任何差异所以我不知道为什么GET请求给我一个问题.任何洞察我可能做错的事情都会有所帮助.

如果你有关于jQuery,CherryPy,配置文件,任何东西的想法,我真的很感激.

* *编辑****
应一些朋友的要求,这里有更多信息.
我如何计算getdata:
var getdata = $(“#username”).val();

服务器查询的URL :(嗯,这就是PuTTy所说的来自/去服务器,我不知道服务器端的废话)
GET / checkUsername?noram http / 1.1

解决方法

Norabora,
以下是您可以尝试的几件事……

从以下更改您的jQuery get请求:

$.get('checkUsername',function(data) {
    alert(data);
});

至:

var getdata = $("#username").val();

$.get('checkUsername?username=' + getdata,function(data) {
    alert(data);
});

或尝试:

var un = $("#username").val();

$.get('checkUsername',{ username: un },function(data) {
    alert(data);
});

查看jQuery文档,您需要提供带有JSON对象的$.get()函数作为参数,而您目前只使String提供$.get()方法.

GET请求必须采用以下形式:
www@L_462_37@medomain.com?key=value

看起来您的GET请求缺少密钥,但仍包含值:

GET /checkUsername?noram http/1.1

我希望以下工作:

GET /checkUsername?username=noram http/1.1

大佬总结

以上是大佬教程为你收集整理的jquery – 修复从GET请求到CherryPy的404:缺少参数错误全部内容,希望文章能够帮你解决jquery – 修复从GET请求到CherryPy的404:缺少参数错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。