我正在使用JQUERY + CodeIgniter。在ajax调用之后,我似乎无法显示返回的data
。
这是我的JQUERY:
$.post("<?= site_url('plan/get_conflict') ?>", {
user_id : user_id,
datetime_from : plan_datetime_start,
datetime_to : plan_datetime_end,
json : true
}, function(data) {
alert(data);
}, "json");
这是我的CodeIgniter:
function get_conflict() {
...
log_message("debug","get_conflict(): $result");
return $result;
}
我的日志显示:
get_conflict(): {"work_product_name":"Functional Design Document","datetime_start_plan":"2010-04-22 08:00:00","datetime_end_plan":"2010-04-22 09:00:00","overlap_seconds":3600}
表示正确返回JSON。但是,不会显示alert(data)
和alert(data.work_product_name)
。
有什么想法吗?
答案 0 :(得分:3)
你要返回结果......你应该输出它。
例如
function get_conflict() {
...
log_message("debug","get_conflict(): $result");
$this->output->set_output( json_encode($result) );
}
答案 1 :(得分:0)
试试这个
public function CreateStudentsAjax() {
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('', '');
$this->form_validation->set_rules('roll', 'Roll Number', 'required');
$this->form_validation->set_rules('name', 'Name', 'required');
$this->form_validation->set_rules('phone', 'Phone', 'required');
if ($this->form_validation->run()) {
$this->welcome_model->InsertStudents();
echo json_encode("Oks");
} else {
$data = array(
'roll' => form_error('roll'),
'name' => form_error('name'),
'phone' => form_error('phone')
);
echo json_encode($data);
}
}
和脚本
<script type="text/javascript">
$(document).ready(function(){
$('form').submit(function(){
//alert('ok');
$.ajax({
url:this.action,
type:this.method,
data:$(this).serialize(),
success:function(data){
var obj = $.parseJSON(data);
if(obj['roll']!=null)
{
$('#message').text("");
$('#message').html(obj['roll']);
$('#message').append(obj['name']);
$('#message').append(obj['phone']);
}
else
{
$('#message').text("");
$('#message').html(obj);
}
},
erro:function(){
alert("Please Try Again");
}
});
return false;
});
});