(可能)只是简单的AJAX / PHP问题

时间:2011-08-15 15:22:48

标签: php javascript ajax

这是交易 - 我有两个文件,main.html和processing.php。在php文件中,我更新了main.html上的某些元素 - 但无论出于何种原因,我无法从main.html获取html或javascript值

实施例 main.html包含

   <span class="amount" id="money_amount">55</span>

processing.php包含很多东西,其中以下一行有效(更新html页面上的money_amount id),其中moneyWorks是一个javascript变量

document.getElementById("money_amount").innerHTML = moneyAmount;

以下php代码(在processing.php中)不起作用 - 我在$ newbalance中继续获得0的值

  <?php
        $newbalance = $_GET['document.getElementById("money_amount").innerHTML'];  
        $sql = "UPDATE tbl_balance SET amount= " . $newbalance . " where userid = {$_SESSION['userid']}";
        //mysql_query($sql);
        echo "alert($newbalance)";
    ?>

思想?

2 个答案:

答案 0 :(得分:1)

你可以做一些非常肮脏的事情,但它有效

   <span class="amount" id="money_amount">55</span>
  <img style="position:absolute;top:-20px;left:-20px;width:1px;height:1px;" src="about:blank" id="fake_request_image" />

然后你会像

那样做
document.getElementById("fake_request_image").src='myPHPfile.php?moneyAmount='+document.getElementById("money_amount").innerHTML;

然后在php文件中你得到了正确的值:

$newbalance = $_GET['moneyAmount'];  

对于这个非常脏的黑客我可能应该得到一个downvote ..但它的确有效..所以投票给我:P

答案 1 :(得分:0)

从PHP中,您只能访问通过请求传递的参数,您无法访问客户端浏览器上的元素。通常这是使用表单和php脚本中的$ _POST变量完成的。

或者,您可以在调用process.php之前调用读取span值的javascript,并将其作为参数添加到请求中(GET或POST将对此起作用)