我的GAE应用程序中有这部分脚本,它使用webapp2,它使用post接受表单中的数据,
class RenderMarksheet(webapp2.RequestHandler):
def post(self):
regno = self.request.get('content') # Here's where I extract the data from the form
...
...
...
self.response.out.write(template.render(templates/render.html, template_values))
发布到此脚本的网络表单
<form action="/sign" method="post" name="inputform" onsubmit="return validate()">
Register No : <input type="number" name="regno" placeholder="Your Register No."/>
<input type="submit" value="Get-My-GPA!" >
</form>
现在,我想手动传递一个特定的数据(一个注册号),而不是使用表单中的提交按钮,使用Javascript,也就是一个触发一个按钮的按钮,使用python脚本(或者url) javascript方法。
我必须使用javascript来发布数据(以实现AJAX)。 在python中我这样做,将数据发布到URL,
import http.client, urllib.parse
params = urllib.parse.urlencode({'regno':10109104021})
headers = {"Content-type": "application/x-www-form-urlencoded",
"Accept": "text/plain"}
conn = http.client.HTTPConnection("mydomain:8888")
conn.request("POST", "/sign", params, headers)
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
如何通过Jquery或Javascript将数据发布到网址?
答案 0 :(得分:2)
最快的是使用jQuery并使用$.post()
答案 1 :(得分:1)
我不是百分之百地确定你要做什么,但经过几次重读之后,我认为你正在努力做到这一点。
您需要导入urllib2
#import google classes
import urllib2
class RenderMarksheet(webapp2.RequestHandler):
def parseResponse(self, response):
#run some code in here to parse the results since it's an HTML document ... beautifulsoup, perhaps?
def post(self):
regno = self.request.get('content')
rawlink = "http://result.annauniv.edu/cgi-bin/result/result11gr.pl?regno="
link = rawlink+regno
try:
result = urllib2.urlopen(link)
gpa = parseResponse(result)
except urllib2.URLError, e:
self.response.out.write(e)
template_values = {'gpa': gpa}
self.response.out.write(template.render(templates/render.html, template_values))
此方法