gpt4 book ai didi

javascript - PHP 中陷入未定义索引

转载 作者:行者123 更新时间:2023-12-02 15:21:55 26 4
gpt4 key购买 nike

我已经被困在这个问题上好几天了......似乎无法弄清楚为什么我一直收到此代码的未定义索引错误,还有为什么 $text 不会回显任何内容?

$http({
url: url, url2,
method: "POST",
data: "data=" + window.btoa(encodeURIComponent(jsonData)),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (id, status, headers, config) {
console.log(data);
$scope.message = "From PHP file : "+data;

PHP:

$data = file_get_contents(json_decode(urldecode(base64_decode($_POST["data"]))));
$text = $data->text;

最佳答案

这有太多错误,很难弄清楚从哪里开始。首先也是最重要的,为什么要使用 Base64 编码 uri 编码 json 编码?

接下来,如果您要使用所有这些编码函数,则需要以完全相反的顺序调用完全等效的解码函数。现在还没有发生这种情况。

接下来,url2 在这里不执行任何操作。

然后,file_get_contents 需要一个路径作为参数,而不是字符串。 file_get_contents 字面意思是用来获取文件的内容,所以这里没有任何意义。此外,file_get_contents 返回一个字符串,因此它永远不会有 ->data 成员。

最后一个 undefined index 意味着 $_POST 对象中没有 data 值。这可能是因为您没有将数据作为表单数据发送。默认情况下,Angular 会将数据编码为 json,这意味着从 PHP 的 Angular 来看 $_POST 将为空,您只能通过 php://input 获取数据。

所有这些都告诉我,您基本上将来自不同来源的一大堆东西拼凑在一起,希望它在某一时刻能够发挥作用。我能给你的一个建议不仅仅是阅读我的答案,而是真正花时间学习你正在使用的东西。你不会通过猜测来解决问题。

还学习如何调试。您收到的错误是关于数组中不存在的项目。您可以通过查看 $_POST 的完整内容来验证这一点。那时您可能还不知道为什么会出错,但您询问此错误而不是 $_POST 不包含 data 的事实告诉我,即使访问数据数组对你来说仍然很陌生。

关于javascript - PHP 中陷入未定义索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33974373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com