使用AJAX从控制器显示返回的json数据

时间:2015-07-16 21:09:40

标签: javascript php ajax json html5

我正在尝试向控制器发送POST提交,并希望收回一个json字符串,以便我可以将信息附加到表中。这是我到目前为止所做的:

我的AJAX电话:

$('#addTicketButton').click(function(){
      $.ajax({
          type:'POST',
          url:'<?php echo site_url();?>ticket_system/add_ticket',
          data:{
              'headline': $("#headline").val(),
              'description': $('#description').val(),
              'category': $('#category').val(),
              'priority': $('#priority').val(),
              'assigned': $('#assign').val()
          },
          datatype: 'json',
          success: function(data){
            $("#created_table > tbody:last-child").append("<tr><td>" + data[0].ticketId + "</td><td>" + $("#headline").val() + "</td><td>" + data[0].lastUpdated + "</td></tr>");
          }
      });
});

我的控制器:

public function add_ticket()
{
    $ticket = array(
        'headline' => $this->input->post('headline'),
        'description' => $this->input->post('description'),
        'category' => $this->input->post('category'),
        'priority' => $this->input->post('priority'),
        'assigned' => $this->input->post('assigned'),
        'userId' => $this->userId
    );
    $ticketId = $this->tickets->addTicket($ticket);
    $ticket = $this->tickets->getTicketByTicketId($ticketId);
    $success = array(
        'ticketId' => $ticketId,
        'lastUpdated' => date("M d, Y H:i A")
    );

     echo json_encode($success);
}

我也尝试过使用:

 data.ticketId

但这也不起作用。

任何帮助我都非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

不确定,但你可以试试这个:

控制器:

$success = json_encode($ticketId||date("M d, Y H:i A")); //added '||' between the results

Ajax:

d =  data.split("||"); //break the results
$("#created_table > tbody:last-child").append("<tr><td>" + d[0] + "</td><td>" + $("#headline").val() + "</td><td>" + d[1] + "</td></tr>");