首页 > 解决方案 > 脚本在 OpenCart 2.3.0.2 上给出用户令牌错误

问题描述

此脚本不适用于 opencart 2.3.0.2 任何人都可以帮助翻译这个吗?

用户令牌有问题吗?

<script type="text/javascript"><!--
function refudt(ele){
var pid = $(ele).data('pid');
var type= $(ele).data('type');

$.ajax({
url: 'index.php?route=sale/order/getprice&user_token=
{{ user_token }}',
dataType: 'html',
type: 'post',
data: 'order_id={{ order_id }}&pid=' + pid+'&type='+type,
success: function(html) {
$(ele).parent().append('<br>'+html);
}
});

}

function saver(ele){
var pid = $(ele).data('pid');
var price = $(ele).parent().find('input').val();
var type= $(ele).data('type');
confirm('Save new value: '+price +' ?');

$.ajax({
url: 'index.php?route=sale/order/getprice&user_token=
{{ user_token }}',
dataType: 'html',
type: 'post',
data: 'order_id={{ order_id }}&pid=' + pid+'&value='+price+'&type='+type,
success: function(html) {
$(ele).parent().remove();
if($('.rebus').length<1) {
location.reload();
}
}
});
}

//--></script> 

标签: phpopencart2.3

解决方案


您使用 OC2.3 版本的树枝功能。此 OC 版本不支持 twig。而user_token应该只是token. 您需要更改为的脚本:

<script type="text/javascript"><!--
function refudt(ele){
var pid = $(ele).data('pid');
var type= $(ele).data('type');

$.ajax({
url: 'index.php?route=sale/order/getprice&token=<?php echo $token; ?>,

dataType: 'html',
type: 'post',
data: 'order_id=<?php echo $order_id; ?>&pid=' + pid+'&type='+type,
success: function(html) {
$(ele).parent().append('<br>'+html);
}
});

}

function saver(ele){
var pid = $(ele).data('pid');
var price = $(ele).parent().find('input').val();
var type= $(ele).data('type');
confirm('Save new value: '+price +' ?');

$.ajax({
url: 'index.php?route=sale/order/getprice&token=<?php echo $token; ?>,
dataType: 'html',
type: 'post',
data: 'order_id=<?php echo $order_id; ?>&pid=' + pid+'&value='+price+'&type='+type,
success: function(html) {
$(ele).parent().remove();
if($('.rebus').length<1) {
location.reload();
}
}
});
}

//--></script> 

也不要忘记令牌应该在相应的控制器文件上定义,如下所示:$data['token'] = $this->session->data['token'];


推荐阅读