嗨,我不确定从哪里开始,但我只是想学习ajax和php,但我不确定我在这里缺少什么。
我想要设置这个代码,这样每次点击.test-ajax
时它都会增加一个数字,因为我正在寻找它如何使用php我希望能在php文件中发生增量。< / p>
这是我的jQuery
$(document).ready(function(){
$('.test-ajax').live('click', function(event)
{
$.ajax({
url: 'variableplusone.php',
type: 'post',
data: { offset: 2 },
success: function(offset) {
alert(offset);
}
});
});
});
和我的variableplusone.php
文件......
<?php
$x = add_one();
function add_one()
{
if (isset($_POST['offset']))
{
$offset = $offset;
echo $offset;
}
}
return $x;
只是想知道如何在php文件中获取$offset
的值,然后返回并更新?
答案 0 :(得分:1)
您可以执行echo $x;
,然后在成功处理程序中,您将在offset
变量中使用它。
或者,如果您坚持使用更复杂的结构,我建议您使用AJAX查看http://php.net/manual/en/function.json-encode.php和JSON请求。
答案 1 :(得分:1)
function add_one() {
$offset = 0;
if(isset($_POST['offset'])) {
$offset = $_POST['offset'];
$offset++;
}
return $offset;
}
$x = add_one();
die("$x");
显然,你需要检查你的$ _POST ['offset']是一个数字和其他健全性检查。要将值返回到javascript,它就足以回显它,或者死掉它。在javascript中,您将收到一个值,在您的示例中为3(您传递2,PHP将其递增1)。
编辑:要“保留”对数字的更改,您可以选择:您可以在客户端使用javascript或cookie记住它,或者在服务器端使用会话变量记住它。
$(document).ready(function(){
myVariable = 2;
$('.test-ajax').live('click', function(event)
{
$.ajax({
url: 'variableplusone.php',
type: 'post',
data: { offset: myVariable },
success: function(offset) {
alert(offset);
myVariable = offset;
}
});
});
});
以上是在客户端记住它的一种方法。请注意,如果用户刷新页面,则会将其重置为默认值(2)。
答案 2 :(得分:0)
你的返回$ x没有意义,你的$ x是空的,无论如何,因为你的函数不会返回一个值。 我想你希望你的函数返回$ offset,然后在你的php文件中回显$ x。 你的php文件的输出将在你的js的偏移变量中 - 所以在你的情况下它是偏移量。
类似这样的事情
<?php
$x = add_one();
function add_one()
{
if (isset($_POST['offset']))
{
return $_POST['offset']++;
}
}
echo $x;
?>