正在将POST数据从Web2py检索到本地HTML文件
Retrieving POST data from Web2py to local HTML file
我遇到了一些严重的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>
您必须将代码放入"success"处理程序中,该处理程序将web2py的响应写入本地html文档。
类似于:
success: function (data, textstatus) {
$('#some-element').html(data);
},
当post请求发生时,您也可以让成功处理程序重定向到一个新页面,并以某种方式将XML数据存储在一个会话变量中,然后在新页面上查看它,但我认为只需在javascript中这样做就会大大简化事情。
编辑:我不确定你的数据的性质,所以如果它真的是XML(而不是某种类型的(X)HTML),那么你需要在成功回调中处理数据,而不是将其写入DOM元素。
您需要一个空元素,可能是div:<div id='some-element'></div>
来包含响应。
这听起来像你需要的吗?如果我误解了,请告诉我。
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 导入jQuery脚本获胜'我不处理html文件
- 生成pdf或其他非html文件时的错误处理
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- html文件中的script标记根本不起作用
- 从单独的html文件预览Javascript文本
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- Android在webview中加载带有javascript的html文件,得到Uncaught ReferenceEr
- 什么更好?使用iframe或jQuery之类的东西在外部网站中加载HTML文件
- 当我在浏览器中打开HTML文件时,javascript不起作用
- 如何在另一个html文件的框架中包含图像
- 压缩静态HTML文件中的JS和CSS
- 从HTML文件中的TypeScript(.ts)获取值
- 以HTML文件中的编码形式脱机存储图像
- ionic幻灯片框中的每张幻灯片都有不同的HTML文件
- 加载具有特定CSS的HTML文件
- 使用Gulp手柄部分编译为单个HTML文件
- 使用javascript检查服务器上是否存在html文件
- 在本地启动HTML文件
- javascript从选中的复选框中检索输入值,并在同一网页中显示多个html文件