【问题标题】:how to use ajax to assign javascript variable to php variable [duplicate]如何使用ajax将javascript变量分配给php变量[重复]
【发布时间】:2013-04-29 00:08:56
【问题描述】:

我有以下函数,我想使用 Ajax 将变量“Quantity”分配给 php 变量,但是我对 ajax 不太了解,所以有人可以给我代码来完成这项工作。谢谢

var Quantity;
$("select").change(function() {
  var str = "";
  var price = <?php echo $row[price];?>;
  $("select option:selected").each(function() {
    str += $(this).text() + " ";
  });
  $(".plan_price").text("price : " + parseInt(str) * price + " baht");
  Quantity = parseInt(str);
}).change();

function selectOne() {
  var select = document.getElementById('quantity');
  for (var i=0; i<<?php echo $row[item_amount]?>; i++) {
    select.options[select.options.length] = new Option(i+1, i);
  } 
}

我希望从服务器的 $row[item_amount] 中减去数量变量

if ($row[item_amount] - Quantity  == 0) {
   $sql = "update item set active='2',item_amount=item_amount-Quantity,buy_time=NOW() where id='$id'";
} else {
   $sql = "update item set item_amount=item_amount-Quantity,buy_time=NOW() where id='$id'";
}
$result = mysql_query($sql);

【问题讨论】:

  • Java 不是 JavaScript。
  • google 关于 javascript & POST 方法
  • 我发现最好的方法是将 HTML/JS/CSS 与 PHP 分开。我不会从我的 php 生成“代码”。我使用 php 作为 ajaxing 的“数据源”。代码应该是静态的,我还没有找到原因代码应该是动态的(除了插​​件),而不是“打动”某人。

标签: php javascript ajax


【解决方案1】:

添加这个:

在您的 javascript 上:

...
Quantity = parseInt(str);
$.ajax({url:"yourphp.php",type:"POST",async:false,data:{quantity:Quantity}});

在你的 PHP 上:

...
$Quantity = $_POST["quantity"];
if ($row[item_amount] - $Quantity  == 0) {

我不知道您的 mysql 查询中的“数量”是否是指发送的 $Quantity 通过 javascript;如果是,请在此处添加 $ 前缀。

【讨论】:

    【解决方案2】:

    有办法。您可以使用 PHP 会话变量来执行此操作。您可以使用下面的 sn-p 保存一个 POST 变量并将其保存为 PHP 会话变量。

    <?php
    
    header('Content-Type: application/json; charset=UTF-8');
    
    session_start();
    
    if ($_POST['foo'] == true) {
      $_SESSION['foo'] = $_POST['foo'];
      echo json_encode(true);
    }
    else {
      echo json_encode(false);
    }
    
    ?>
    

    现在你需要你的 JavaScript 来连接 PHP 脚本,而且看起来你已经在使用 jQuery,所以我们将这样做:

    $.post('/_/ajax/init_session.php', { foo: 'bar' }, function(data) {
      console.log(data);
    }, json);
    

    上面的 JS sn-p 要求 PHP 脚本将 $_SESSION['foo'] 保存为 'bar'。收到数据后,浏览器的 JavaScript 控制台会显示 true 或 false,具体取决于值是否已保存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2023-03-26
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多