Php 如何通过CodeIgniter上的json将数据从控制器传递到视图?

Php 如何通过CodeIgniter上的json将数据从控制器传递到视图?,php,javascript,ajax,codeigniter,Php,Javascript,Ajax,Codeigniter,在我的主登录页面中的事件之后,我试图通过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 =

在我的主登录页面中的事件之后,我试图通过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);        
    }

}
$('submit_loginform').live('click',function()){
$(“#错误消息”).fadeIn(500).html(“”;//调试消息区域
//var login_name=$(“#login”).val();
//var pass=$(“#pass”).val();
风险值数据={
名称:$(“#登录”).val(),
密码:$(“#密码”).val(),
ajax:1
}
$.ajax({
url:“主页/登录验证”//my home controller函数“登录验证”:
键入:“POST”,
数据类型:“json”,
数据:数据,
成功:功能(数据){
if(data.message){
警报(数据、消息);
} 
},
错误:函数(e){
控制台日志(e.message);
}
});
});
我的控制器看起来像:

$('#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);        
    }

}

您的ajax函数需要json作为响应

您可以通过直接回显json字符串或让视图呈现json字符串来实现这一点

public function login_validation(){

    $array = array(
        "message" => "all things are beutiful"
    );

    $data['json'] = $array;
    echo json_encode($data);          
}


ajax函数期望json作为响应

您可以通过直接回显json字符串或让视图呈现json字符串来实现这一点

public function login_validation(){

    $array = array(
        "message" => "all things are beutiful"
    );

    $data['json'] = $array;
    echo json_encode($data);          
}


login\u view.php
中有什么?在
login\u view.php
中有什么?你说得对,现在我收到了带有文本“{”json”的警报:“{”message\”:“all things is beutiful\”}”在我的data.json响应中。我应该如何将其转换为数组,我只能键入data.message并获得“all things beutiful”“?还有一件事,我应该如何接收输入值?我尝试了“message”=>$this->input->post('login'),但它对我不起作用。。输入名称是login//edit->oops,我已经处理好了too@user2304363看起来你不是在发布一个
login
param
$this->input->post('name')
your right,现在我在data.json响应中收到一个带有文本“{”json“{”message\:“all things is beutiful\”}”的警报。我应该如何将其转换为数组,这样我就只能键入data.message并获得“所有东西都是有用的”?还有一件事,我应该如何接收输入值?我尝试了“message”=>$this->input->post('login'),但它对我不起作用。。输入名称是login//edit->oops,我已经处理好了too@user2304363看起来你不是在发布一个
login
param
$this->input->post('name')