ajax无法在codeigniter中工作

时间:2012-11-05 16:53:34

标签: jquery ajax codeigniter

我正在尝试使用ajax jquery函数发送post请求,并将一些数据异步返回到窗口中。这是我到目前为止所拥有的。它似乎没有用。

在视图中:

$.ajax({
          url: '/dashboard/presskits/media/get_video_link/',
          type: 'POST',
          dataType: 'json',
          data: { encoded_link : encoded_link },
          cache: false,
          success: function(output_string){
            // $('#edit_video_info').append(output_string);
            alert(output_string.url_data);
          } // End of success function of ajax form
          }); // End of ajax call
}); 

在控制器中:

 public function get_video_link()
{
    $temp_url = $this->input->post('encoded_link');
    $output_string = json_encode(array('url_data' => $temp_url));
            return $output_string;
    } 

3 个答案:

答案 0 :(得分:1)

打印或回显不返回JSON,你也应该包括成功。

print json_encode(array('Status' =>'Success', 'url_data' => $temp_url));

答案 1 :(得分:0)

只需使用echoprint更改您的回报。

答案 2 :(得分:0)

首先,您是否启用了URL帮助程序?我认为您的网址字段不正确。在配置中启用您的URL帮助程序并像这样回显您的基本URL

url: "<?php echo base_url(); ?>dashboard/presskits/media/get_video_link/"

另外,我建议使用chrome或firefox开发人员工具检查请求中的HTTP响应标头。在Chrome上,只需右键单击 - >网络,然后启动您的ajax请求即可。

其次,您应该回应控制器中的响应,而不是返回它。在低级别,当函数返回一个值时,它将该值存储在寄存器(内存)中,并且它们都在堆栈中发生。换句话说,它不是I / O操作。 Echo会将json文本直接输出到浏览器(这是ajax调用所期望的)。