0

我的 CI 应用程序的 index.php 中有一个 AJAX 脚本。此时我只是想返回一个简单的字符串进行测试。我为此使用以下代码:

<script>
    $(document).ready(function() {
        $.ajax({
            type: 'POST',
            url: 'index.php/loader/opc_client',
            dataType: 'json',
            cache: false,
            success: function(data) {
                console.log(data);
                $('#opc-results').html(data.test);
            }
        });
    });
</script>

这个调用中的 url 是一个独立的文件,它有自己的控制器。当我直接在浏览器中访问此文件时,它会正常加载并返回预期结果。以下是我的 PHP 代码:

<?php echo json_encode("test"); ?>

触发该函数后,我可以在 Firebug 中看到帖子结果,但 Firebug 窗口仅在视图下显示“一个空字符串” 。POSTconsole

有什么线索吗?我不明白这...

更新:如果我console.log('success')在 AJAX 调用的成功参数中,它会正确记录它,所以由于某种原因data是空的

4

1 回答 1

1

尽管从技术上讲 php 可以将字符串作为数组处理,但您不应该只对字符串进行 json_encode,但我想在这种情况下事情会变得很奇怪。只需将它包装在一个数组中,当您完成测试后,使用键值对可能会更好,因为它使客户端的事情更容易处理,即 obj.property。

尝试echo json_encode(arrray('test'));

于 2013-02-06T20:39:16.660 回答