首页 >web前端 >js教程 >AngularJS 到 PHP POST:为什么我的变量未定义?

AngularJS 到 PHP POST:为什么我的变量未定义?

Linda Hamilton
Linda Hamilton原创
2024-11-23 20:07:18745浏览

AngularJS to PHP POST: Why are my variables undefined?

AngularJS HTTP Post 到 PHP:未定义变量问题

问题描述:

从 AngularJS 执行 HTTP POST 请求时对于 PHP 脚本,PHP 脚本接收已发布表单的未定义值data.

原因:

AngularJS 将 HTTP Post 请求的 Content-Type 标头默认为 application/json。但是,问题中的示例代码将 Content-Type 标头设置为 application/x-www-form-urlencoded。因此,AngularJS 发送的数据不是 PHP $_POST 功能的预期格式。

解决方案 1:

使用默认的 AngularJS Content-Type 标头application/json 并读取 PHP 中的原始输入,然后反序列化JSON.

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;

解决方案 2:

如果依赖 $_POST 功能,则根据数据形成查询字符串并将其作为请求正文发送,确保查询字符串是 URL 编码的。

data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);

以上是AngularJS 到 PHP POST:为什么我的变量未定义?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn