gpt4 book ai didi

javascript - AngularJS & web2py : calling python from ng/javascript/html

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:21 24 4
gpt4 key购买 nike

我在应用程序中同时使用 AngularJS(主要是客户端)和 web2py(主要是服务器端)。

我现在有一个问题。

在程序的某个时刻,我使用 AngularJS 从客户端获取一些数据,这些数据存储在 AngularJS 变量中。我本来打算使用$http.post直接将这些数据提交到数据库,但是it didn't work由于跨域问题。

现在我正在尝试将这些数据(它们是JSON格式)传递回web2py并让web2py将这些数据插入数据库。(类似于提交SQLFORM)。

我是否可以将这些数据作为参数传递给 web2py 函数并在 javascript 代码中调用该函数?

我认为可能的方法:1)因为我可以使用{{}}在html中编写python,并且我可以在javascript中编写html,所以我可以使用类似以下内容在javascript中编写python代码:document.write({{python code}})

我尝试过这个,但是无论我写什么 html,它都会转到一个全新的 html 页面。我也尝试过document.getElementById('testDiv').write("<p></p>");但它不起作用。

2)使用ajax,我对ajax不熟悉,任何例子将非常感激!

有什么想法吗?

谢谢大家!

最佳答案

好吧,你让我迷失了一会儿,让我们看看我是否做对了1- Angular 作为你的前端2- python 作为你的后端

3-您正在 python 中渲染 html 文档并将其传递到浏览器4-由于 python 模板语言使用 {{}} 作为分隔符,我假设您也更改了 Angular 分隔符

无论是使用ajax还是重新加载,您都需要提供一个python post处理程序脚本。它会获取您的数据并使数据库更新。如果这将成为一种模式并且您将进行 AJAX CRUD 操作,那么您应该使用 Angular 资源 ngResource(如果不是简单的)

$http.post(url,data).success(function(response){})

https://docs.angularjs.org/api/ng/service/ $http#post

其中 url 是您的表单提交处理程序 url。如果您在哪里使用表单,您需要将目标设置为隐藏在页面中的 iframe,并且响应应该是一个脚本标记,该脚本标记获取与您的 Controller 相关的范围并让他知道操作的结果。这是一种旧方法,但是当将信息发送到不允许 CORS 的站点时很方便,顺便说一下这可能是您问题的解决方案,当将数据直接存储到数据库时,您可能只需要启用 CORS header 在您的存储引擎 API 中,即使来自不同的域也应该允许您提交信息

关于javascript - AngularJS & web2py : calling python from ng/javascript/html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23666591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com