【问题标题】:ajax call on CodeIgniter page returns result "an empty string"CodeIgniter 页面上的 ajax 调用返回结果“一个空字符串”
【发布时间】:2013-02-06 20:28:08
【问题描述】:

我的 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 窗口仅在 console 视图中的 POST 下显示 "an empty string"

有什么线索吗?这个我没看懂……

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

【问题讨论】:

  • 您要发送的数据在哪里?数据:?
  • 在这个具体的例子中我不需要发送任何数据。

标签: php jquery ajax codeigniter


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    相关资源
    最近更新 更多