【发布时间】:2022-11-16 21:33:17
【问题描述】:
我正在尝试使用 AJAX 将文本字符串传递给 PHP 变量,但在 POST 触发时我不断收到此错误:
警告:未定义的数组键“mydata”
警报触发并正确显示值,但随后 PHP 页面显示上述错误。这里出了什么问题?
阿贾克斯:
$("#display_tasks").click(function() { var name = $(this).text(); var namecut = name.substr(0,name.indexOf(' |')); $.ajax({ type: 'POST', url: 'opentask.php', data: {mydata : namecut}, success:function(data) { alert(data); } }); });PHP:
$taskname = $_POST['mydata']; echo $taskname;
【问题讨论】:
-
就在调试时,让数据捕获变得简单,只做
var namecut = 'HELLO';,看看你是否得到任何回报 -
谢谢您的答复。我实际上在发布之前进行了调试,namecut 返回预期值没有问题并且也很好地提醒它,成功警报也正确显示文本,但是当 PHP 触发时它会导致 php 页面上出现错误
-
@KenLee 错误消失了,但没有返回任何内容,只有空白页。我假设帖子没有正确读取值?这是为什么?
-
如果您向 PHP 发送一个字符串并且 PHP 向 JS 返回正确的字符串并且
alert(data);显示正确的字符串。那么你从 PHP 得到错误的事实并没有计算 -
@RiggsFolly 我有其他 PHP 文件可以从中检索文本,但是当我尝试将文本发送到其他 PHP 文件时,它会通过 JS 正确提醒该值,但是 PHP 无法回显该值,因为 POST 中的错误先于它.这是我对事情进展的看法。如果你能指导我到我可能错的地方,我将不胜感激。