我在使用基本的 ajax POST 时遇到问题。在使用 jquery .click 等遇到问题后,我切换到了 onclick。只是想知道我是否犯了一些公然的错误或什么。如果没有明显的错误,可能是apache的问题?这里经验不足,因此我们将不胜感激。
这是一个函数的链接:
<a href="markerpages.php" onclick="postData()">click this for php page</a>
这是函数:
function postData() {
console.log("outside ajax is working");
$.ajax({
type: "POST",
url: "/markerpages.php",
data: {
source1: "some text",
source2: "some text 2"},
success: function (data) {
console.log("inside ajax is working");
},
error: function () {
console.log("ajax post failed")
}
});
这是我的 php 网页上的内容:
<?php
if (isset($_POST['source1']))
$src1 = $_POST['source1'];
else $src1 = "post data not obtained";
echo $src1;
echo "<pre>" . print_r($_REQUEST, 1) . "</pre>";
print_r($_POST);
var_dump($_POST);
var_dump($_POST);die;
?>
我没有在 firebug 中返回错误,并且我得到了放置在 ajax 内部和外部的日志语句,只是没有在 PHP 页面上得到空数组。 真诚感谢您的帮助。
最佳答案
您正在使用 anchor 标记将用户发送到页面。如果执行此操作,所有发布数据都会丢失。您需要将 anchor 标记中的 url 替换为 #
以确保用户停留在页面上:
<a href="#" onclick="postData()">click this for php page</a>
关于javascript - 无法检索 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26420527/