怎么办$HTTP POST与PHP AngularJS

本文详细介绍了如何在AngularJS中正确地发起POST请求,并确保后端可以通过标准方式访问到发送的数据。文章解释了AngularJS不自动序列化POST数据的原因,并提供了使用jQuery的$.param()方法进行手动序列化的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做一个POST请求中AngularJS是有点棘手。如果你不喜欢它下面,你无法通过PHP访问的POST变量$_POST或$_REQUEST。用下面的方法,你只能通过file_get_contents()函数访问POST变量;

$http({
	url: "api/getUserData",
		method: "POST",
		data:{user_id:app.user_id}
	}).success(function(data, status, headers, config) {
		$scope.data = data;
	}).error(function(data, status, headers, config) {
		$scope.status = status;
});
如何获得POST值与上面的方法

其原因是,AngularJS不序列化传递到自动POST请求的数据(参数)。因此,我们必须将数据与$.param(),这是在jQuery中提供序列化。也是默认内容类型发布的数据是application/x-www-form-urlencoded。因此,我们需要覆盖POST请求的内容类型标头应用程序/ x-www的形式,进行了urlencoded为了通过$_POST或$_REQUEST来访问张贴的值

$http({
	url: "api/getUserData",
		method: "POST",
		headers: {'Content-Type': 'application/x-www-form-urlencoded'},
		data: $.param({user_id:app.user_id})
	}).success(function(data, status, headers, config) {
		$scope.data = data;
	}).error(function(data, status, headers, config) {
		$scope.status = status;
});

如下所示,您可以访问在上述方法POST值。

$user_id = $_POST['user_id'];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值