2013-02-07 140 views
1

由于大多数后端人,我不知道我怎么能实现以下,因为它 需要一些与浏览器交互。通过JavaScript传递参数给python函数

所以,我到目前为止有以下几点。

一个通信协议,其中服务器在Python和客户端是JavaScript代码。最终,我希望我的数据能够达到该JavaScript代码。

现在,这些数据正在从浏览器中捕获。

作为练习..什么,我试图做的是..在浏览器上两个单选按钮和一个提交按钮

*radio A 
    *radio B 
    * Submit 

现在,当用户按下提交,我有点想创建一个查询“用户提交:A(或B)”和这个查询我能够捕获python脚本。

我迷失在如何做到这一点。

我的猜测是“提交”调用python脚本。 但是,如果我的python服务器始终处于打开状态......如何解析从浏览器点击此python服务器的响应?

+0

Java不是JavaScript。你的意思是? – Eric

+1

@Eric:是的..我知道..它与java无关。对不起,我的问题是不清楚的.. [code] javascript - > python - > java [/ code] python - > java是一个简单的socket ..所以那个协议在那里.. 我是现在正在处理如何从javascript发送数据 - > python – Fraz

+0

感谢您澄清 – Eric

回答

2

这是通常的工作方式:

  1. 客户端(浏览器)访问网页,发起请求到服务器
  2. 服务器(在你的情况,Python)的处理要求,并写入HTML的响应,包括无线电按钮形式
  3. 客户端填写表单并点击提交,触发另一个请求到服务器
  4. 服务器处理第二个请求并写入另一个响应(例如“购买成功”,“消息发布”等)。

请注意,第二个请求是一个全新的请求。您可能需要将第一个请求链接到第二个请求的方式,除非第二个请求是匿名的。有些框架可以为你做到这一点,但如果你是从头开始制作服务器,你需要某种会话机制来跟踪状态。

要让客户端发出第二个请求,最简单的方法是在HTML中为form元素添加相应的actionmethod属性。 action指定要访问表单请求的URL,并且methodGETPOST。 (更高级的用法,例如在本网站上,通常使用AJAX来提交提交)。