jQuery getJSON - 可能的语法错误

时间:2011-03-30 23:53:54

标签: php jquery json

我已经成功地将各种示例放在一起,但我不相信javascript函数甚至被调用,下面是我的所有代码:

使用Javascript:

<script type="text/javascript" src="coding/jquery.js"></script>
<script type="text/javascript">

    function showHint(quantity, price){
     document.getElementById("txtcost").innerHTML="being called values" + quantity + price;
        $.getJSON('http://website.com/ecommerce/coding/validation/calprice.php', {q: quantity, p: price}, function(data){
            $('#txtcost').html('Total: ' + data.total);
            $('#txtvat').html('VAT: ' + data.vat);
        });

    }

</script>

显示

<span id="txtcost" style="color:#060"></span>
<span id="txtvat" style="color:#060"></span>

PHP

<?php
echo "being called";
function data() {
$q = $_GET["q"];
$p =&$_GET["p"];

$total = $p * $q;

if($q >= 10)
{
    $total = ($total / 10) * 9;
    //echo '<strong>£ ' . $total . '</strong><span style="font-size:10px; font-weight:bold;"> Discount applied.</span>';
    echo json_encode(array('total' => $total, 'vat' => '10.00'));
}
else{ echo '<strong>£ ' . $total . '<strong>'; }}
?>

希望有所帮助

注意:代码并不完美,我希望初始功能正常工作。

编辑:

到目前为止,我已成功建立:

正在调用该函数 正确的值将传递给函数

2 个答案:

答案 0 :(得分:2)

首先,您需要使用JavaScript点表示法来引用对象属性,而不是PHP箭头操作符:

data.total

而不是

data->total

答案 1 :(得分:0)

我认为你在第1行引用的问题似乎是在破解php,也许你需要使用更像的东西:

<input name="quantity" type="text" id="quantity" onkeyup="showHint(this.value, ' . $events[0]['price'] . ' )" size="6" />

但没有完整的代码很难说