1

post を使用してフォームからデータを受け取る webapp2 を使用する GAE アプリケーションのスクリプトのこの部分があります。

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))

そして、このスクリプトに投稿する Web フォーム、

<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) に特定のデータ (登録番号) を手動で渡したいと思います。

(AJAXを実装するために)javascriptを使用してデータを投稿する必要があります。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を介してデータをURLに投稿するにはどうすればよいですか?

4

2 に答える 2

2

最速はjQueryを使用して使用することです$.post()

于 2012-06-26T21:45:30.917 に答える
1

あなたが何をしようとしているのか100%確信はありませんが、何度か読み直した後、あなたがやろうとしていることは次のようになります。

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))

この方法は

  1. フォームから入力を取得します
  2. リンクを作成する
  3. annaunivWebサーバーに情報を要求する
  4. そのサーバーからの応答を解析します(自分で解析しますが、関係なく解析する必要があります)
  5. テンプレートで使用するためのテンプレート辞書をGPAに保存します
于 2012-06-26T21:53:14.513 に答える