我尝试使用ajax调用Python服务器(Flask)来验证web应用程序中的用户,Python服务器反过来调用主服务器身份验证。但是认证完成后,应该向客户端返回一条成功消息,这样我就可以在网页上重定向/显示信息因此。但是,它并没有归还留言。取而代之的是,在验证之后,它给出了一个断管错误
客户代码:
1)Javascript:function login()
{
var user=document.getElementById("username").value;
var pass=document.getElementById("password").value;
//alert(JSON.stringify({username:user,password:pass}));
//var contentType = "application/x-www-form-urlencoded";
var ajax=$.ajax({
type: "POST",
//crossDomain: true,
data: JSON.stringify({username:user,password:pass}),
contentType:"application/x-www-form-urlencoded",
dataType: "json",
url: "http://0.0.0.0:8081"
//async:true
}).done(function(data){
// alert(data);
});
ajax.fail(function(data){
//alert(data);
});
}
2)HTML:
^{pr2}$
3)烧瓶服务器代码:app = Flask(__name__)
@app.route('/', methods=['POST','GET','OPTIONS'])
@crossdomain(origin='*')
def login():
data= request.get_json(force=True);
br=mechanize.Browser()
br.open('https://weaveprod.ucdp.utah.edu/geoserver/web/?wicket:bookmarkablePage=:org.geoserver.web.GeoServerLoginPage')
br.select_form(nr=0)
username=data['username'];
password=data['password'];
br['username']= username
br['password']= password
response= br.submit()
mainpage=response.read()
val=mainpage.find('Invalid username/password combination')
if val==-1:
success = True
else:
success=False
print success
return jsonify(text=success);
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8081, debug=True,threaded=True)
问题:
如果没有,则通过浏览器获取身份验证,而不是通过Chrome请求。在
2)虽然我发出了POST请求,但我在地址栏的url中看到了用户名和密码。在
请帮帮我…我已经辛苦了两天了。在
谢谢,
萨扬