Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 服务器以CherryPy格式向客户端返回值_Javascript_Jquery_Python_Html_Cherrypy - Fatal编程技术网

Javascript 服务器以CherryPy格式向客户端返回值

Javascript 服务器以CherryPy格式向客户端返回值,javascript,jquery,python,html,cherrypy,Javascript,Jquery,Python,Html,Cherrypy,我是web开发新手,正在学习使用CherryPy作为web服务的后端。我按照这个步骤从客户端向服务器发送请求(我想知道是否有其他方法?)。使用cherrypy用python编写的服务器然后处理请求,并应该向客户端(html和js)返回一个值(变量),这就是我遇到的问题。服务器如何将变量返回给客户端?我很困惑,我没有看到任何例子或教程解释这一点 例如,我的客户端有以下代码(另存为index.html): 因此,当我提交表单时,服务器端的generate()函数将被调用,它将以我提交的值作为参数。但

我是web开发新手,正在学习使用CherryPy作为web服务的后端。我按照这个步骤从客户端向服务器发送请求(我想知道是否有其他方法?)。使用cherrypy用python编写的服务器然后处理请求,并应该向客户端(html和js)返回一个值(变量),这就是我遇到的问题。服务器如何将变量返回给客户端?我很困惑,我没有看到任何例子或教程解释这一点

例如,我的客户端有以下代码(另存为index.html):


因此,当我提交表单时,服务器端的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>