如何为结帐创建动态价格视图

时间:2015-09-27 01:43:22

标签: php html ajax dynamic transactions

我目前正在为我的网站设置结帐。我有一个产品,我提供的价格各不相同的选项,我希望在客户决定支付之前预先进行价格预览。我有一个结账模式,理想情况下,我希望在考虑到所有因素后,价格预览会反映产品的最终价格。数学是在php的服务器端完成的,如何在没有重新加载按钮的情况下回显或显示变量回到html页面?

    <?php
//sets price based on options selected//
$ord_type_explode =  explode('|',$_POST['ord_type']);
$base_price = $ord_type_explode[1];

$item_options_explode = explode('|',$_POST['item_options']);
$options_add = $item_options_explode[1];

$quantity_select_explode = explode('|',$_POST['quantity_select']);
$quantity_multiplier = $quantity_select_explode[1];

$final_price = ($base_price + $options_add) * $quantity_multiplier;

echo $final_price;



?>

1 个答案:

答案 0 :(得分:1)

这通常通过XHR执行。

这是一个简单的GET和POST示例,可以帮助您绕过它。

得到:

    var url = 'mypage.php';
    var xhr= new XMLHttpRequest() || new ActiveXObject( "Microsoft.XMLHTTP" );
    xhr.onreadystatechange = function () {
        if ( xhr.readyState == 4 && xhr.status == 200 ) {

            //Response text
            console.log( xhr.responseText );
        }
    };

    xhr.open( "GET", url, true );
    xhr.send();

发表:

    var url = 'mypage.php';
    var sendData = 'a=1&b=2'
    var xhr= new XMLHttpRequest() || new ActiveXObject( "Microsoft.XMLHTTP" );

    xhr.onreadystatechange = function () {
        if ( xhr.readyState == 4 && xhr.status == 200 ) {

            //Response text
            console.log( xhr.responseText );
        }
    };
    xhr.open( "POST", url, true );
    xhr.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
    xhr.send( sendData );

还有许多提供此类功能的JavaScript库,请参阅List of Ajax frameworks

获得xhr.responseText后,您可以处理此文本,但最好根据页面回放的响应进行操作。例如,如果它发送的消息是&#34;成功&#34;然后你可以拿xhr.responseText并用innerHTML填充一个元素。

有很多方法可以做到这一点。现在问题不再是ajax了,而是关于如何在javascript中处理字符串,这可以通过谷歌轻松研究,如&#34;如何将文本放入元素&#34;。