AngularJs学习笔记(制作留言板)

原文地址:http://www.jmingzi.cn/?post=13

初学Anjularjs两天了,一边学一边写的留言板,只有一级回复嵌套。演示地址

这里总结一下学习的过程和笔记。另外,看看这篇文章也是会有收获的。

我觉得AngularJs就是实现了php的很多功能和方法,除了不能直接操作数据库以外,他有很多插件可以提供使用,很强大。

我遇到的问题:

1、使用$http.post()方法提交到php的时候,php的接收语句是这样的:

 1 $shuju = file_get_contents('php://input', true); 

搜了好多,都没给出合理的解释,只知道这样做是可以的。我们通常用表单提交过去的数据用$_POST接收,那是因为提交的header不同导致的上述原因。

我们用AngularJs提交过去的是JSON格式数据,header是Content-Type: application/json

而form表单提交过去的是:multipart/form-data

解决办法当然有2个,一个就是上述的办法可以接收,$_POST = json_decode(file_get_contents('php://input'),true);

还一种就是修改header, $httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded';

查看文章

另外,做表单的提交的时候,看看这篇文章也会有所帮助;

2、遇到的第2个问题就是路由传参数

由于我没有使用ui-router插件,原生的ng-router是不可以进行路由嵌套的,但目前我不需要嵌套路由,只需要传递简单的多个参数。其实也不难,如下写法:

.when('/replay/:cid/:name', {
		templateUrl : "tpl/form.html",
		controller : "formCtrl"
	})

在控制器中进行接收即可

liuYan.controller('formCtrl', function($scope, $http, $routeParams){ 

$routeParams.cid;
}

  还有很多可以参考官方的API文档,以及查看已经实现了的UI

教程网址也有一个:http://www.yiibai.com/angularjs/angularjs_custom_directives.html

还有一篇关于JSON的:http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html

原文地址:https://www.cnblogs.com/jhmydear/p/4587038.html