在我的index.php文件中,我有一个AJAX函数,它将调用另一个php文件中的函数,该函数应该增加一个数字并在我调用AJAX函数时返回它。Php会话和Ajax
问题是数字从未改变。我尝试了很多不同的东西。很多人不幸地列出他们。
我的index.php文件。
<?php
session_start();
$_SESSION['views'] = 0;
?>
<?php include 'blogFunction.php';?>
<script type="text/javascript">
function doSomething()
{
$.ajax({ url: '/blogFunction.php',
data: {action: 'test'},
type: 'post',
success: function(output) {
document.getElementById("blog").innerHTML = '';
document.getElementById("blog").innerHTML = output;
}
});
}
</script>
<div class ="blog" id = "blog"></div>
我blogFunction.php
<?php
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'test' : blogreturn();break;
}
}
function blogreturn(){
$_SESSION['views'] = $_SESSION['views']+ 1;
echo "THIS number is:" .$_SESSION['views'];
}
?>
眼下输出始终是 '1',每当我打调用AJAX功能的按钮。
任何帮助表示赞赏。
实时代码:here
谢谢大家的帮助至今。一个问题出现了,出现了一个新问题。
扩展功能:
session_start();
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'test' : blogreturn();break;
}
}
function blogreturn(){
$request_url = "http://retrovate.tumblr.com/api/read?type=posts";
$xml = simplexml_load_file($request_url);
$a = $_SESSION['views'];
$b = $_SESSION['views'] +4;
echo "A = ".$a;
echo "B = ".$b;
$_SESSION['views'] = $_SESSION['views']+ 1;
for ($i = $a; $i <= $b; $i=$i+1) {
echo '<h2>'.$xml->posts->post[$i]->{'regular-title'}.'</h2>';
echo '<br>';
echo $xml->posts->post[$i]->{'regular-body'};
echo '<br>';
echo '<br>';
}
}
说就在这里,是一个问题,我在my site
单击我的按钮一次,它增加和显示新的内容。我再次点击,它恢复为0.如果我多次点击按钮很快,它似乎工作。似乎铬是有这个问题,而Firefox不是。
为什么使用vanilla DOM方法输出AJAX的结果而不是jQuery? '$('#blog')。text(output);' –