Javascript 服务器以CherryPy格式向客户端返回值
我是web开发新手,正在学习使用CherryPy作为web服务的后端。我按照这个步骤从客户端向服务器发送请求(我想知道是否有其他方法?)。使用cherrypy用python编写的服务器然后处理请求,并应该向客户端(html和js)返回一个值(变量),这就是我遇到的问题。服务器如何将变量返回给客户端?我很困惑,我没有看到任何例子或教程解释这一点 例如,我的客户端有以下代码(另存为index.html):Javascript 服务器以CherryPy格式向客户端返回值,javascript,jquery,python,html,cherrypy,Javascript,Jquery,Python,Html,Cherrypy,我是web开发新手,正在学习使用CherryPy作为web服务的后端。我按照这个步骤从客户端向服务器发送请求(我想知道是否有其他方法?)。使用cherrypy用python编写的服务器然后处理请求,并应该向客户端(html和js)返回一个值(变量),这就是我遇到的问题。服务器如何将变量返回给客户端?我很困惑,我没有看到任何例子或教程解释这一点 例如,我的客户端有以下代码(另存为index.html): 因此,当我提交表单时,服务器端的generate()函数将被调用,它将以我提交的值作为参数。但
因此,当我提交表单时,服务器端的generate()函数将被调用,它将以我提交的值作为参数。但是我不希望网页像现在这样只显示返回值,我希望服务器将返回值发送回客户端(html和js),以便我可以在客户端代码中使用它。我怎么做呢?好的,这是怎么回事。。。使用表单时,不需要js。表单只是将数据发布或发送到cherrypy处理程序。您需要在js或jquery中执行类似的操作
<form method="get" action="generate();">
</form>
<script>function generate() {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","generate",true);
xmlhttp.send();
// your response will be here.
xmlDoc=xmlhttp.responseXML;
};</script>
函数生成(){
var-xmlhttp;
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“POST”,“generate”,true);
xmlhttp.send();
//你的回答会在这里。
xmlDoc=xmlhttp.responseXML;
};
如果这不合理,请告诉我
安德鲁
import random
import string
import cherrypy
class StringGenerator(object):
@cherrypy.expose
def index(self):
return open("index.html")
@cherrypy.expose
def generate(self, length=8):
ranNum = ''.join(random.sample(string.hexdigits, int(length)))
return ranNum
if __name__ == '__main__':
cherrypy.quickstart(StringGenerator())
<form method="get" action="generate();">
</form>
<script>function generate() {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","generate",true);
xmlhttp.send();
// your response will be here.
xmlDoc=xmlhttp.responseXML;
};</script>