controller code
$rates['poor'] = 10;
$rates['fair'] = 20;
$this->load->view('search_result2', $rates);
//I have tried this in many ways but at least It executes the "success" in ajax file only with above way. other ways I have tried ex :-
//$this->output->set_output(json_encode($rates));
//echo json_encode($rates);
i need to pass this rates array to ajax
js code
$.ajax({
type:'POST',
url:'some url',
data:{'adID':adID},
//dataType:'JSON', // when I uncommented this it displays nothing. when commented it displays "undefined" on the label below i have created
success:function(rates){
$('#rate_val').html('<label>'+rates.poor+'</label>');
//I have tried this in many ways ex :-
// $('#rate_val').html('<label>'+rates['poor']+'</label>');
// $('#rate_val').html('<label>'+rates[0]+'</label>');
}
});
this displays "undefined" on label. I can't get the data I have passed from controller. please help ?
dataType:'JSON'
echo
or set_output
from controller rates.poor
or rates['poor']
from ajax Controller
public function post_url()
{
$rates = array();
$rates['poor'] = 10;
$rates['fair'] = 20;
$this->output->set_output(json_encode($rates));
}
Ajax
<script>
$.ajax({
type:'POST',
url:'POST_URL',
data:{'adID':adID},
dataType:'JSON',
success:function(rates){
$('#rate_val').html('<label>'+rates.poor+'</label>');
}
});
</script>
$data['a']='100';
$data['b']='200';
echo json_encode(array('success'=>$data));
jquery
<script>
$.ajax({
type:'POST',
url:'POST_URL',
data:{'adID':adID},
dataType:'JSON',
success:function(rates){
var data = jQuery.parseJSON('['+response+']');
$('#rate_val').html('<label>'+data.succcess.a+'</label><label>'+data.succcess.b+'</label>');
}
});
</script>
i believe it may execute as you want to .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.