在ajax中发布php变量(没有jQuery)

时间:2017-08-17 05:41:26

标签: php ajax

我想这是一个简单的问题,但不适合我。 我有简单的日历,只有一个月:

<div id="calendar">
<?php
$month_num=date('m');
echo $month_num . " ";
echo '<span onclick="next(this.value);" value="' . $month_num . '";> &gt; </span>';
?>
</div>

我的脚本是:

function next(str) {

xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
   document.getElementById("calendar").innerHTML = this.responseText;
   }
};
xmlhttp.open("POST","test3.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("n=" + str);
}

test3.php是:

<?php
if (isset($_POST['n'])) {
    $n = $_POST['n'];
}
if (isset($n)) { 
    echo $n + 1;} 
?>

问题是,$n未定义且结果为&#34; 1&#34; 。我想应该有一些很简单的方法来发布$n

谢谢。

1 个答案:

答案 0 :(得分:0)

根据规范,span不具有value属性。因此,您将很难通过javascript访问它。尝试使用data- *属性。

MediaPlugin

我可以建议,由于您要发布并依赖点击事件,因此按钮会更合适。