Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AJAX POST-to-CodeIgniter控制器_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Php AJAX POST-to-CodeIgniter控制器

Php AJAX POST-to-CodeIgniter控制器,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,我在尝试将数据发布到CodeIgniter时遇到了一些问题我有这个 阿贾克斯 Controller | Dashboard.php->class:Dashboard,function:index 我试着用这个,只是想看看是否有什么东西是它的帖子,但没有 if($_POST) { print_r($_POST); die(); } 所以我的整个控制器看起来像这样 <?php defined('BASEPATH') OR exi

我在尝试将数据发布到CodeIgniter时遇到了一些问题我有这个

阿贾克斯

Controller | Dashboard.php->class:Dashboard,function:index

我试着用这个,只是想看看是否有什么东西是它的帖子,但没有

if($_POST) {
            print_r($_POST);
            die();
        }
所以我的整个控制器看起来像这样

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends CI_Controller 
    public function index()
    {

        // $test = $_POST['data'];
        // echo json_encode($_POST);
        if($_POST) {
            print_r($_POST);
            die();
        }


//////////////////////////////////Views///////////////////////////////// 



    // includes
    $data['footer'] = $this->load->view('includes/footer', NULL, TRUE);

    // App
    $data['menuProfile'] = $this->load->view('app/menuProfile', NULL, TRUE);
    $data['sidebarMenu'] = $this->load->view('app/sidebarMenu', NULL, TRUE);
    $data['topNavigation'] = $this->load->view('app/topNavigation', NULL, TRUE);
    $data['menuFooter'] = $this->load->view('app/menuFooter', NULL, TRUE);

    // Dashboard

    $dashboard['dinp'] = $this->load->view('app/dashboard/dinp', NULL, TRUE);
    $dashboard['dispTitle'] = $this->load->view('app/dashboard/dispTitle', NULL, TRUE);
    $dashboard['porcentaje'] = $this->load->view('app/dashboard/porcentaje', NULL, TRUE);
    $dashboard['temp'] = $this->load->view('app/dashboard/temp', NULL, TRUE);
    $dashboard['velocity'] = $this->load->view('app/dashboard/velocity', NULL, TRUE);
    $data['dashboard'] = $this->load->view('app/dashboard/dashboard', $dashboard, TRUE);


    $this->load->view('includes/head');
        $this->load->view('app', $data);
    $this->load->view('includes/jquery');
    }
}

数据帖子包含JSON对象,您得到的对象元素如下:

$this->input->post('your_post_element');
1) 您必须重新检查此变量中的内容

data: {data: data},
2) 你已经准备好了

contentType: 'application/json'
因此,您必须以JSON格式返回内容,并且还应该在响应页面中将内容类型设置为JSON

$this->output
->set_content_type('application/json')
->set_output(json_encode($_POST));

好的,如果我的ajax成功了,那就行了,但这是一个错误,因为它获取了整个html,如下面的消息“SyntaxError:Unexpected token H in JSON in position 0(…)”在ajax之前显示您的JSON,使用JSON.stringify(data)并在此站点中验证您的obejct:ajax中使用的“data”中的值/内容是什么[Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object]这是一个包含10个Object的数组(1)如果使用数据类型json,则需要将数据转换为json
contentType: 'application/json'
$this->output
->set_content_type('application/json')
->set_output(json_encode($_POST));