繁体   English   中英

在.click上使用$ .ajax更新变量

[英]Update variable using $.ajax on .click

编辑:问题比改变变量(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。

php变量的增量必须在php脚本而不是javascript中完成。 Javascript本质上不了解您的php,反之亦然。

还要提到的另一件事是$ .ajax对象上的success属性是一个函数,因此您应该这样定义它。 有关$.ajax完整详细信息,请参见jQuery文档

$.ajax({
  ...
  ...
  success: function () { ... }
});

编辑

在澄清之后,这是一个更新的,更详尽的示例。

HTML

<div id="valueAContainer"><?php echo $valueA; ?></div>

jQuery的

$.ajax({
  url: "yourphpscript.php",
  method: "GET" (or post, whatever is applicable),
  data: { valueA: $("#valueAContainer").text() },
  success: function (data) {
     $("#valueAContainer").text(data);
  }
});

PHP

// 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM