加载构建器控制器
<a class = "button tiny" href = "<?php echo site_url('builder/app/'.$experiment->eid); ?>"> Edit </a>
CodeIgniter控制器
class Builder extends MY_Controller{
public function index(){
$data['title'] = 'Experiment';
$data['main_content'] = 'experiment/add_experiment_form';
$this->load->view('_main_layout', $data);
}
public function app($eid = 0){
$data['title'] = 'Experiment';
$data['eid'] = $eid;
$data['main_content'] = 'experiment/add_experiment_form';
$this->load->view('_main_layout', $data);
}
public function save() {
$message = $this->input->post('msg');
echo $message;
}
}
JAVASCRIPT
$("#getObjectValues").click(function () {
var msg = '[';
for(i=1; i<$.count; i++){
if (i!=1) {msg+=","}
var offset = $('#obj'+i).offset();
var xPos = offset.left;
var yPos = offset.top;
msg += "("+xPos+","+yPos+")";
}
msg += ']';
$.ajax({
url:"builder/save",
type:"POST",
data:{'msg':msg},
success: function(data) {
alert('success '+data);
window.location.href = "<?php echo site_url($this->session->userdata('active_role').'/experiments'); ?>";
}
});
});
单击另一个html文件中的编辑按钮会从构建器控制器触发应用程序功能。然后它加载页面add_experiment_form
,提供的javascript是一个单独的html文件。单击getObjectValues button
时,变量msg将收集一些信息。然后使用ajax,我将msg传递给控制器function save()
。当alert
成功部分variable s
时出现问题。它会提示add_experiment_form
的原始HTML而不是$message
中的save() function
。
问题是当我将button's href
更改为'builder'
时,整个系统正常工作,意味着success function alerts
正确的消息,而不是整个HTML代码。
答案 0 :(得分:0)
使用echo json_encode($message);
然后回复成功
var = $.parseJSON($data);
alert (json)