2015-10-04 49 views
0

我在AngularJS中创建了一个动态路由,它允许通过单个PHP文件处理所有路由。我这样做的原因是,我不喜欢你如何导航到原始的templateUrl并看到一个没有风格的部分页面。POST to templateUrl

之前我了解到Angular,我不得不Ajax请求POST荷兰国际集团到PHP文件,但我似乎无法与Angular做到这一点。我已经这样做了,所以请求去/router.php?page=XX ...但即使如此,这个URL现在必须接受GET请求。

我可以不通过POST请求加载templateUrl吗?

回答

0

我将与之一起使用的路线(没有双关语意思)是使用template属性而不是templateUrl。

的文档有此说关于$routeProvider

模板 - {字符串= |函数()=} - HTML模板作为一个字符串或一个函数,返回一个HTML模板,这应该是一个字符串由ngView或ngInclude指令使用的 。该属性优先于templateUrl上的 。

与之相对templateUrl:

templateUrl - {字符串= |函数()=} - 返回到应该由ngView使用的HTML模板 路径路径或功能。

您可以看到,动态地使用函数形成templateUrl只会使您受益于使用url字符串,仍然执行GET请求。模板属性可以使用任何必要的方法获取模板的实际html。

使用这种方法,您应该能够将模板属性传递给调用执行POST操作的服务或直接注入$ http的函数。我不确定的唯一部分是模板属性如何在返回数据之前处理来自http请求的承诺。

我希望这可以帮助你!