![](/img/trans.png)
[英]how to pass html in json data to from controller to view in codeigniter
[英]How to pass data from controller to view via json on CodeIgniter?
我试图在主登录页面中的事件发生后,通过json将数据从控制器传递给json查看。 登录页面js看起来像:
$('#submit_loginform').live('click',function(){
$("#error_message").fadeIn(500).html("<img src='images/loaders/loader2.gif' alt='loading' />"); // debug message area
//var login_name = $("#login").val();
//var pass = $("#pass").val();
var data = {
name : $("#login").val(),
password : $("#password").val(),
ajax : 1
}
$.ajax({
url: "home/login_validation", // my home controller function "login_validation:
type: 'POST',
dataType: 'json',
data: data,
success: function (data) {
if(data.message){
alert(data.message);
}
},
error: function (e) {
console.log(e.message);
}
});
});
我的控制器看起来像:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function index(){
$data = array(
"text" => "Welcome",
"time" => date("Y/m/d")
);
$this->load->view('home_view.php', $data);
}
public function login_validation(){
$array = array(
"message" => "all things are beutiful"
);
$data['json'] = json_encode($array);
$this->load->view('login_view.php', $data);
}
}
毕竟,当我尝试提交数据时,我应该收到一条警告消息,内容为“所有事物都是美好的”,但警告不是“弹出”。
顺便说一句,我用萤火虫检查了它的响应,并且响应是我home_view文件中的相同HTML代码。
怎么了? 我应该怎么做才能收到来自控制器的正常响应?
您的ajax函数期望json作为响应。
您可以通过直接回显json字符串或使视图呈现一个来完成此操作。
public function login_validation(){
$array = array(
"message" => "all things are beutiful"
);
$data['json'] = $array;
echo json_encode($data);
}
// js
alert(response.json.message);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.