0

私は自分のドメインで Web サイトを運営しており、Google Appspot ドメインを指すアクションを持つフォームがあります。アプリ スポット アプリは、以下の非常に単純な python スクリプトを実行しています。

import cgi,webapp2


class ProblemRedirect(webapp2.RequestHandler):

    def post(self):
        print(cgi.escape(self.request.get('problem_text')))
        print(cgi.escape(self.request.get('student_name')))
        print(cgi.escape(self.request.get('student_email')))



application = webapp2.WSGIApplication([
    ('/', ProblemRedirect),
], debug=True)

私のフォームのHTMLは次のとおりです。

<div id="mainForm">
            <form id="problem_form" class="problem_form" action="http://www.summit-tech-help.appspot.com" method="post">
                <textarea id="problemText" placeholder="Explain your problem in detail. Click the black bar on top, for rules!" form="problem_form" rows="15" cols="45" name="problem_text" autofocus required></textarea></br>
                <input type="text" placeholder="Enter your email..." name="student_email" required/></br>
                <input type="text" placeholder="Your name..." name="student_name" required/></br>
                <input type="submit" value="Submit!" required/>
            </form>
        </div>

このフォームは別の Web サーバーにありますが、appspot スクリプトによって処理されます。ただし、フォームを送信するたびに、次のエラーが表示されます。

XMLHttpRequest cannot load http://www.summit-tech-help.appspot.com/. Origin null is not allowed by Access-Control-Allow-Origin. 

私が間違っていることはありますか?また、OSX 上の Google App Engine Launcher からアプリをデプロイしました。ランチャーで「実行」をクリックすると、localhost:8080 で実行されるため、動作時に「印刷」を確認できますか? ありがとう!

〜カーペットフィズ

4

1 に答える 1

1

これをハンドラーに追加する必要があります。

self.response.headers['Access-Control-Allow-Origin'] = '*'

星の文字 (すべてのホストを受け入れる) を受け入れたいオリジンに置き換えます。このリンクを参照してください

于 2013-09-20T01:23:12.013 に答える