0

我有一个在我自己的域上运行的网站,它有一个表单,其中有一个指向我的 google apppot 域的操作。app spot 应用程序正在运行一个非常简单的 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 服务器上,但由 apppot 脚本处理。但是,每当我提交表单时,都会收到错误消息:

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 回答