2011-08-09 40 views
1

为什么var_dump不能在这里工作,ajax调用是成功的,但没有任何打印,甚至没有从PHP打印字符串字面值。Codeigniter echo/var_dump不工作

我控制器

function check_links() {    
    $matches = $this->input->get('matchesJSON');   
    var_dump($matches); 
    //$this->load->view('publish_links_view'); 
} 

Ajax调用

$.ajax({ 
    type: 'GET', 
    dataType: 'json', 
    cache: false, 
    data: 'matchesJSON='+matchesJSON, 
    url: 'publishlinks/check_links', 
    success:      
    function(response) { 

    } 
})  
+0

使用Ajax时,使用类似http://www.firephp.org/的工具向客户端发送日志消息,而不会弄乱响应文本。 –

回答

5

我假设你期待它的var_dump到浏览器。

Ajax发生在“幕后”,所以它不会输出到您的浏览器,您会在success处理程序的response参数中找到它。

如果你想测试它,只需用你的浏览器直接打网址。

http://ciroot/index.php/publishlinks/check_links?matchesJSON=test%20text 

此外,可以监控所有的浏览器扩展Firebug,在这样的情况下非常有用的AJAX请求/响应的。

+2

您可以检查使用firebug/chrome开发工具来查看AJAX响应。 –

+0

是的,萤火虫会告诉你你的ajax请求/回应 – jondavidjohn

+0

谢谢,chrome dev工具刚成为我工作区的官方部分:) –

0

它似乎是与你的Ajax调用一个问题,不是笨

开始与消除dataType: 'json' - jQuery将找到的内容本身的类型,因为它不是JSON

,你需要在输出响应您的功能:

function(response) { window.alert(response) }