我目前正在为我的网站设置结帐。我有一个产品,我提供的价格各不相同的选项,我希望在客户决定支付之前预先进行价格预览。我有一个结账模式,理想情况下,我希望在考虑到所有因素后,价格预览会反映产品的最终价格。数学是在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;
?>
答案 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;。