angularJS与web2py的:从纳克/ JavaScript的调用蟒蛇/ HTML(angul

2019-10-20 03:14发布

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

我现在有一个问题。

在节目的一个点,我用AngularJS从客户端得到一些数据,这些数据是在AngularJS变量店。 我拟使用$ http.post这些数据直接提交到数据库中,但它没有工作 ,由于跨范畴的起源问题。

现在,我试图通过这些数据(它们是JSON格式)回web2py中,让这些web2py的数据插入到数据库中。(类似于提交SQLFORM)。

反正我有可以将这些数据作为参数传递给web2py的功能和JavaScript代码中调用该函数?

在我的脑海里可能的方法:1)因为我可以写使用{{}}在HTML蟒蛇,我能在JavaScript编写HTML,使用像我可以写在JavaScript中的Python代码: document.write({{python code}})

我试过,但无论HTML我写它进入一个全新的HTML页面。 我还试图document.getElementById('testDiv').write("<p></p>"); 但是,这是行不通的。

2)使用AJAX,我不熟悉AJAX,任何例子是非常赞赏!

有什么想法吗?

谢谢你们!

Answer 1:

好了,所以你让我输了一场那里,让我们看看,如果我这样做是正确1-角度为您的前端2- Python作为你的后台

3-你在Python渲染HTML文档,因为Python模板语言使用它在向浏览器4- {{}}作为分隔符我假设你改变了angulars分隔符太

或者使用AJAX或重装,您需要提供一个python后处理程序脚本。 那把你的数据,并使数据库更新。 如果这将是一个模式,你将要作出AJAX CRUD操作,你应该如果不是一个简单的使用角资源ngResource

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

https://docs.angularjs.org/api/ng/service/ $ HTTP#后

其中,URL将您的表单提交处理程序的URL。 如果你在哪里使用的一种形式,你需要为目标设置为隐藏在页面中的iframe和答复应脚本标记获取范围相关的控制器,让他知道了操作的结果。 这是一个古老的方法,但方便,当谈到将信息发送到网站,不允许CORS它的方式可能是解决问题的方法,直接将数据存储在你的数据库,你可能只需要启用CORS头存储引擎的API,并且应该让你甚至还可以提交信息,从不同的域何时到来



Answer 2:

经过斗争和无数谷歌的时间,这里是我的解决方法解决方案:

主要问题:数据存储在AngularJS但AngulatJS不能数据库通过API由于交叉生产地问题提交数据。 但web2py中可使用SQLFORM数据提交到数据库。

我的方法:1)当用户点击提交按钮,调用“NG点击=‘submitBtn()’”。 submitBtn()是NG-控制器,其具有对数据的访问的功能。 2.)在submitBtn(),函数首先通过将数据写入到的web2py的SQLFORM

document.getElementById('inputId').value=$scope.data;

那么函数点击SQLFORM通过提交按钮

document.getElementById('submitBtn').click();

我花了很多时间来找出领域的那些元素ID在web2py中自动生成的SQLFORM。 找到他们的方法是用开发者在浏览器中检查元素工具并直接看到源代码。

希望这会帮助别人也会面临同样的问题!



文章来源: angularJS & web2py: calling python from ng/javascript/html