【发布时间】:2012-08-01 00:17:52
【问题描述】:
我一直有一些严重的 jquery 跨域问题,所以我一直在尝试通过 web2py 解决这个问题。
我将 POST 数据从本地 HTML 文件发送到我的 web2py 服务器。然后,Web2py 将 python POST 发送到第二台服务器(这解决了跨域问题)并获得了预期的响应。我应该如何将该响应返回到我的本地 html 文件?
我曾考虑将这些结果存储在数据库中,然后使用 url 重定向检索它们——但我不确定我是否能够猜出我需要的 URL。也许只是从数据库中获取最后一个条目。
或者有更好的方法吗?
我意识到可能有更好的方法可以直接从原始本地 html 文件执行此操作并完全绕过 web2py,但我在 python 中比在 js 中更舒服。
所以我想从:
[本地 html 文件]->[POST 到 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>
【问题讨论】:
标签: javascript jquery ajax cross-domain web2py