2016-10-04 2 views
0

나는 $.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" 

는 그리고 이것은 내가 다른 URL, 데이터, 아무것도 이유와 시도, 내 컨트롤러

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

이 나에게 하늘의 배열을 돌려줍니다인가?

+1

'echo json_encode ($ valores);'return json_encode ($ valores);'. –

+0

@RocketHazmat Nothing, returns _ [] _ ​​ – Gil

+0

당신은 잘못된 URL을 전달하고 있는데, 어디에서이'$ ('url')을 가져오고 있는지 valuch()' – Franco

답변

0

Codeigniter 3.1.0이 WampServer에서 실행 중입니다.

대시 보드 컨트롤러

<?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> 

그리고 위에서 제공된 데이터가 표시되면서 페이지 새로 고침을 수행 할 때마다 알림이 울립니다.

그래서 위의 내용을 가지고 있는지 확인해보십시오.

관련 문제