$ .post()数据到Codeigniter 3

时间:2016-10-04 18:02:00

标签: javascript php jquery codeigniter api

我有一个$.post()我希望将数据接收到我的控制器中,我怎么能这样做?

的jQuery

$.post($('#url').val() + "Dashboard/getApi", { name: "John", time: "2pm" })
  .done(function( data ) {
    alert( "Data Loaded: " + data );
  });

vvvvvvvvvvvvvvvvvvv this is my url vvvvvvvvvvvvvv
$('#url').val() + "Dashboard/getApi" = "http://127.0.0.1/M2MWare/Dashboard/getApi"

这是我的控制器

function getApi()
    {
    $valores = $this->input->post();
    // print_r($valores);
    return json_encode($valores);
    }

这会给我一个空数组,我尝试使用不同的url,数据而没有为什么?

1 个答案:

答案 0 :(得分:0)

在WampServer上运行的Codeigniter 3.1.0。

信息中心控制器

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

class Dashboard extends CI_Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {
        $this->load->view('post_view');
    }

    function getApi() {
        $valores = $this->input->post();
        echo json_encode($valores);
    }
}

查看post_view.php 为简单起见,这是非常裸露的骨骼。

<html lang="en">
<head>
<title>Post Me</title>
</head>
<body>
<form>
    <input type="hidden" id="url" value="http://ci310tut.com/">
</form>

<script src="<?= base_url('assets/js/jquery.min.js'); ?>"></script>
<script>
    $(document).ready(function () {
        console.log('We should be seeing an alert popup');
        $.post($('#url').val() + "Dashboard/getApi", {name: "John", time: "2pm"})
            .done(function (data) {
                alert("Data Loaded: " + data);
            });
    });
</script>
</body>
</html>

从上面开始,每当我使用提供的数据执行页面刷新时,我都会惊讶地发出警告。

所以你可能想要检查上面的内容。