编辑:这个问题更多的是改变变量(valueA)而不是任何东西。我已经使用下面的脚本获得了所需的加载结果。我试图在脚本上添加一些东西,一旦点击就会最终改变valueA。
我正在设计多个页面,使用.load
加载到主内容div中的index.php
//Setting default value
$valueA = 5;
//Created separate div to allow me to monitor the variable and changes
<div><?php echo $valueA; ?></div>
//Loading first page into div
<div id=main_content>
<?php include 'page1.php'; ?>
</div>
page1.php中包含一个按钮,用于加载分配给它的页面。
page1.php中
<button id="button1">Click Me!</button>
<script>
$(document).ready(function(){
$('#button1').click(function(){
$('#main_content').load('page2.php').hide().fadeIn('slow');
$.ajax({
type: 'POST',
url: 'index.php',
success: $valueA += 5,
});
});
})
点击后,page2.php将加载,但值仍为5.我试图弄清楚如何使用ajax脚本将值5添加到valueA。最终,新页面将加载,值将增加到10。
答案 0 :(得分:1)
php变量的增量必须在php脚本中完成,而不是javascript。 Javascript本身对你的php一无所知,反之亦然。
另外要提到的是$ .ajax对象的success属性是一个函数,所以你应该这样定义它。有关$.ajax
$.ajax({
...
...
success: function () { ... }
});
澄清后,这是一个更新,更全面的例子。
<div id="valueAContainer"><?php echo $valueA; ?></div>
$.ajax({
url: "yourphpscript.php",
method: "GET" (or post, whatever is applicable),
data: { valueA: $("#valueAContainer").text() },
success: function (data) {
$("#valueAContainer").text(data);
}
});
// get valueA variable from request
$oldValue = $_GET['valueA'];
// Do whatever you want to it - increment, save to DB, etc.
$updatedValue = $oldValue + 5;
// Return updatedValue to javascript
echo $updatedValue