我的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窗口只会在POST
视图中的console
下显示“空字符串”。 / p>
任何线索?我不明白这个......
UPDATE:如果我在AJAX调用的success参数中console.log('success')
,它会正确记录,因为某些原因data
为空
答案 0 :(得分:1)
你不应该只是json_encode一个字符串虽然技术上php可以处理一个字符串作为一个数组但我想在这种情况下事情变得奇怪。只需将它包装在一个数组中,当你完成测试时,你可能最好使用键值对,因为它使得客户端上的东西更容易处理,即obj.property。
尝试echo json_encode(arrray('test'));