Heim > Backend-Entwicklung > PHP-Tutorial > angularJS里的$httppost传数据到php接收问题 angularjs 2.0 angularjs 视频教程 angularjs directive

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

WBOY
Freigeben: 2016-07-29 08:53:58
Original
938 Leute haben es durchsucht

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

$http.post("php/getRoleRight.php", {rr:$scope.currSelect}).success(function(response) { ·· });
Nach dem Login kopieren
 php使用
$_POST['rr']
Nach dem Login kopieren
接收不到传过来的参数。
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";	
Nach dem Login kopieren
先读取到json字符串,然后解析成对象,这样可以用对象属性的方式取到传过来的参数rr的值了。

好了,大功告成。

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage