无法运行php代码,有角度路由问题
Cannot run php code, issue with angular routing
我在搜索关于这个问题的帮助时遇到了这个早期的线程,但没有响应,所以我不知所措。
我正在尝试提交一个表单,并收到一个php变量作为回报。我自己运行测试代码没有问题,但当把它放在启用路由的角度应用程序中时,我不会得到任何结果。在路由页面上单击提交不会导致任何事情发生。我能做些什么来解决这个问题吗?
这是我的代码:
HTML+PHP-
<form method="post">
<input type="submit" value="Submit" name="submit">
</form>
<?php if (isset($_POST['submit'])) {
echo "IF GOOD :)";
} else {
echo "ELSE BAD :(";
}?>
HTML
<div ng-app="app">
<div ng-view></div>
</div>
JS-
var app = angular.module('app', ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'pages/begin.html',
controller: 'mainController',
activePage: 'begin'
});
});
仅将php用于数据插入/更新/删除。其他使用角度处理一切
试试这个
bengin.html
<form >
<input type="submit" value="Submit" name="submit" ng-click="submit()">
</form>
主控制器
$scope.submit=function(){
$http.post('msg.php', {submit:'hello word!'}).
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
});
}
创建文件名msg.php
msg.php
<?php if (isset($_POST['submit'])) {
echo "IF GOOD :)";
} else {
echo "ELSE BAD :(";
}?>
您必须为<form>
提供action=""
属性才能使代码正常工作。
来自手册:
由于表单在客户端Angular应用程序中的作用是与传统的往返应用程序不同浏览器不将表单提交转换为整页重新加载其将数据发送到服务器。取而代之的是一些javascript逻辑应触发以处理特定于应用程序的方式。
因此,Angular阻止默认操作(表单提交到服务器),除非元素具有action属性指定。
然而,Angular鼓励您使用ngSubmit
和ajax请求,因为它们不会导致页面重新加载。
相关文章:
- 无法运行php代码,有角度路由问题
- 控制器操作的路由问题
- 有UI路由问题的角度路由
- Angular中的ajax调用和路由问题
- 自定义 Mod 文件夹的角度路由问题
- 基于 id 访问 url 时存在角度路由问题
- 表达 4 + 角度 2 HTML 5 路由问题
- Expressjs 动态路由问题
- ASP.NET MVC 4 路由问题
- 角度JS和动态路由问题
- AngularJs 路由问题
- AngularJS html5Mode 路由问题托管在 IIS 8.5 中
- ASP.Net MVC Razor - Javascript 函数路由问题
- 只有当我使用Mixin时,Ember才会导致路由问题.我该如何解决此问题
- Node.js在HTTP Rest开发过程中出现路由问题
- 主干路由问题
- Javascript(Jquery)调用MVC3 Controller/Action/ID的URL路由问题,返回404,
- Angular JS注入路由问题
- Angular JS路由问题
- AngularJS中的动态路由问题