php客户端 http请求数据,使用表单而不是有角HTTP客户端时,对PHP的POST请求不会检索任何数据...

博主在尝试使用Angular的HTTP客户端与PHP后端进行交互时遇到问题。当通过表单POST数据时,接收到的数据在PHP端显示为未定义。问题可能出在数据编码和解码上,尽管尝试了使用`angular.toJson`来处理数据,但问题依然存在。代码中检查了请求方法和Content-Type,并尝试从`php://input`读取JSON数据。在尝试创建记录的`createNote`操作中,`$data`变量在某个点变为undefined。博主寻求解决方案或错误提示。

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

我正在使用角度http客户端与数据库进行交互,并且一切正常,但是当我尝试使用表单将数据发布到同一链接时,我得到的数据是未定义的。

我正在尝试对值进行编码和解码,因为我知道在发出任何POST请求和发送数据之前,我需要执行angular.toJSON方法,但这没有用。

这是我的index.php,我从该表单接收POST请求。

if (empty($action)) {

if ((($_SERVER['REQUEST_METHOD'] == 'POST')) &&

(strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== false)) {

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

$action = isset($input['action']) ? $input['action'] : null;

$subject = isset($input['subject']) ? $input['subject'] : null;

$data = isset($input['data']) ? $input['data'] : null;

}

case 'createNote':

// if I die() here, it prints the die()

if(!empty($data)) {

// if I die() here, $data is undefined.

$data = json_decode($data);

$user = $data[0];

$comment = $data[1];

$film_id = $data[2];

$lastupdated = date("Y-m-d H:i:s");

$sql = "INSERT INTO nfc_note (user, film_id, comment, lastupdated)

VALUES (:user, :film_id, :comment, :lastupdated)";

}

break;

我用来发送POST请求的表格

">

如上所述,当我使用angular的http并传递如下参数时,它可以工作:

this.createNote = function (data) {

var defer = $q.defer(),

data = {

action: "create",

subject: "note",

data: angular.toJson(data)

};

$http

.post(urlBase, data)

.success(function (response) {

defer.resolve({

data: response.data

});

})

.error(function (error) {

defer.reject(error);

});

return defer.promise;

};

使用表格时不起作用。我没有发现任何建议或错误?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值