angularJS里的$httppost传数据到php接收问题 angularjs 2.0 angularjs 视频教程 angularjs directive

WBOY
Lepaskan: 2016-07-29 08:53:58
asal
911 orang telah melayarinya

最近学习angularJS,发现使用其自身的$http.post向后台php发送数据,php接收不到的问题。比如:

$http.post("php/getRoleRight.php", {rr:$scope.currSelect}).success(function(response) { ·· });
Salin selepas log masuk
 php使用
$_POST['rr']
Salin selepas log masuk
接收不到传过来的参数。
angular,angularjs 教程,angularjs下载,angularjs官网,angularjs中文社区,angularjs api,angularjs 2.0,angularjs 视频教程,angularjs directive
打开firebug发现其实传成功了,折腾了好半天才发现,它只不过传输的格式与普通的传输格式比如jQuery里的$.post()方法传输的格式不同,$http.post()是以json格式传输,而$.post()是以表单参数形式传输,而php的$.POST[]是期待以后者的形式接收前台传输过来的数据的,因此读取不到json传的数据。

angular,angularjs 教程,angularjs下载,angularjs官网,angularjs中文社区,angularjs api,angularjs 2.0,angularjs 视频教程,angularjs directive

上网看了一下加上自己的实验,有两种方式解决这个问题:

1.简单粗暴的直接改成$.post()方法,这样后台不用作任何修改,但是网上一些比较有经验的网友称这样可能违背使用angular的初衷。

2.修改php代码

$postData = file_get_contents('php://input', true);
$obj=json_decode($postData);	
$query1 = "SELECT * FROM role_roleRight  WHERE roleId=$obj->rr";	
Salin selepas log masuk
先读取到json字符串,然后解析成对象,这样可以用对象属性的方式取到传过来的参数rr的值了。

好了,大功告成。

以上就介绍了angularJS里的$httppost传数据到php接收问题,包括了angularjs方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan