Javascript 如何使用JQuery AJAX调用codeigniter助手函数?
我在codeigniter中的助手函数中定义了一个函数,当val和货币id传递给它时,该函数返回格式化的价格Javascript 如何使用JQuery AJAX调用codeigniter助手函数?,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我在codeigniter中的助手函数中定义了一个函数,当val和货币id传递给它时,该函数返回格式化的价格 if(!function_exists('format_price')){ function format_price($val,$curency_id=NULL){ $CI =& get_instance(); $CI->load->model('currency_model'); if ($curency_id) { $Re
if(!function_exists('format_price')){
function format_price($val,$curency_id=NULL){
$CI =& get_instance();
$CI->load->model('currency_model');
if ($curency_id) {
$Result=$CI->currency_model->getcurrency($curency_id);
$dec_place=round($Result['decimal_place']);
$value=number_format((float)$val,$dec_place,'.',',');
return $Result['symbol_left'].$value ." ".$Result['symbol_right'];
}
else{
$Result=$CI->currency_model->getDefaultCurrency();
$dec_place=round($Result['decimal_place']);
$value=number_format((float)$val,$dec_place,'.',',');
return $Result['symbol_left'].$value ." ".$Result['symbol_right'];
}
}
}
我需要的是在javascript代码中通过ajax调用这个函数。
这在没有控制器的情况下是可能的,还是我必须制作一个控制器?不要使用ajax,试试这样
<script type="text/javascript">
$(document).ready(function(){
(function(){
<?php if(helper_function($variable)) { ?>
now your jquery script..........
<?php } ?>
});
});
</script>
$(文档).ready(函数(){
(功能(){
现在,您的jquery脚本。。。。。。。。。。
});
});
自定义以上代码,因为你想 您需要通过控制器发出请求,然后通过该控制器调用该函数,例如:
$("#id").change(function()
{
$.ajax({
type: "POST",
url: base_url + "controller_name/your_function",
data: {val: $("#your_val").val(),currency_id: $("#your_cur").val()},
dataType: "JSON",
cache:false,
success:
function(data){
$("#your_elem").val(data.price);
}
});
然后在控制器上:
public function yourfunction()
{
$data = $this->input->post();
$price = format_price($data['val'],$data['currency_id']);
echo json_encode(array('price' => $price));
}
你必须调用一个控制器,该控制器将调用你的助手并返回我尝试过的结果,但它没有显示返回值。有错误吗?首先测试你的控制器,确保它返回一些东西。如果是的话,那么检查你的ajax调用。它返回,但作为未定义返回,但你没有得到我。我想调用helper函数。据我所知,你想在jquery中使用helper函数。因此
将调用你的helper函数…我的变量是var currency\u id和var total\u amout,它不能像这样传递,因为这些是jquery变量。你可以使用php和/或jquery来计算总金额和货币id…在调用helper方法之前…你试图破坏mvc结构…所以当我返回数据success:function(){return data;}
它提供了未定义的数据。您应该使用数据。价格