【发布时间】:2017-04-11 04:47:35
【问题描述】:
似乎这个问题已经被问过很多次了,但没有一个解决方案对我有用。我是 AJAX 的新手,所以也许我错过了一些基础知识?基本上我只是想将一个 html 段落的内容传递给一个 PHP 脚本,我不想使用 html 表单。
我有两个文件:tes.html
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#post").click(function(){
var getContent = $("#text").html();
$.ajax({
url:"tes.php",
type:"POST",
data:{text:getContent},
dataType:"html",
});
});
});
</script>
</head>
<body>
<p id="text" contenteditable="true">This is the content</p>
<a href="tes.php" target="_blank"><button id="post">post 2</button></a>
</body>
</html>
和 tes.php
<?php
if (isset($_POST['text'])) {
$content = $_POST['text'];
echo $content;
} else {
echo "no content";
}
?>
点击 Post 按钮后,在 PHP 文件中返回
注意:未定义索引:第 3 行 C:\xampp\htdocs\projects\lab\tes.php 中的文本。
哪里出错了?真的需要你们的帮助。谢谢!
【问题讨论】:
-
为什么错误位于 tes.php 而你链接 test.php?
-
对不起,在原始代码中它实际上链接到 tes.php。我更改了这个问题的代码。
-
好吧,未定义的索引只能意味着服务器没有收到 $_POST['text'] 变量...如果您删除
$content = $_POST['text']; echo $content;并用print_r($_POST);替换它会发生什么(仅用于调试) -
我注意到它现在在第 3 行显示...这意味着变量已设置...我很困惑..这个错误通知实际上与代码相关吗?
-
它返回了一个空数组.. Array()