从web2py的检索POST数据到本地的HTML文件

我一直有一些沉重的jQuery的跨域问题,所以我一直在试图通过web2py会得到解决的。

我从本地的HTML文件发送POST数据到我的web2py服务器。 web2py中,然后做一个python POST到第二个服务器(解决跨域问题),并得到预期的响应。 我应该如何得到响应返回给我本地的HTML文件?

我想过在数据库中存储这些结果,然后用一个网址检索他们redirect--但我不知道,我能猜到我需要什么样的URL。 也许只是抓住从数据库中的最后一项。

或者,有没有更好的方法?

我知道有很多可能更好的方法直接从原来的本地HTML文件做到这一点,完全规避web2py的,但我在Python舒服多比JS。

所以我想从获得:

[本地HTML文件] - > [邮政的web2py] - > [POST到其他不同的服务器] - > [响应返回给本地的html文件]

我只是不能得到最后一站想通了。

我的控制器,帖子到第二服务器(这工作):

def index(): response.headers['content-type'] = 'text/xml' xml = request.body.read() query_args = { 'data': xml } encoded_args = urllib.urlencode(query_args) url = 'myserver.com' content = urllib2.urlopen(url, encoded_args).read() return response.render(dict(content=XML(content)))

我的本地HTML文件后的样子(这个帖子正确):

<script language="javascript"> function check() { jQuery('.myclass').each(function(){ var txt = $(this).serialize(); $.ajax({ type: 'POST', url: 'myserver', data: 'mydata', statusCode: { 302: function() { alert("302"); // this is never called }, 200: function() { alert("200"); }, }, success: function (data, textstatus) { console.log(data); }, error: function (data) { }, }); }); } </script>

--------------解决方案-------------

你必须把代码中的“成功”的处理程序写入的web2py对当地的html文件的响应。

就像是:

success: function (data, textstatus) {
$('#some-element').html(data);
},

当post请求发生时,你可以选择性地具有了成功处理程序重定向到一个新的页面,并以某种方式将XML数据存储在一个会话变量,看看它的新的一页,但我觉得只是在做这在JavaScript将大大简化事情。

编辑:我不知道你的数据的性质,因此,如果它真的是XML(和某种不(X)HTML),那么你需要处理,而不是将其写入到一个在成功回调数据DOM元素。

你需要一个空的元素,也许是一个div: <div id='some-element'></div>包含响应。

这听起来像你需要什么? 让我知道如果我误解。

分类:JavaScript的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.220 (s). 10 q(s)