花花 发表于 2012-11-15 22:52:21

controller如何得到纯字符串

废话不说了,我的问题是,如果让一个controller下面的方式方法,直接输出一个字符串“1”;
我现在直接在controller的某个方法 echo '1',竟然得到下面的结果
<html><head></head><body>1</body></html>


PS:主要用于 ajax,所以本人不需要这些html标签,只需要中间的数据,即这里的1

sdink 发表于 2012-11-16 00:44:38

这个是不可能的。好好查查你代码吧

levin 发表于 2012-11-16 01:30:03

肯定是你代码有误

米修 发表于 2012-11-16 08:59:01

肯定你代码有问题啊 我一直在用 不可能出现这种情况哦

花花 发表于 2012-11-16 10:38:40

JS代码其实很简单:
$('#loginForm').submit(function() {
                var account, password;
                account = $('#account', '#loginForm').val();
                password = $('#password', '#loginForm').val();
                $.post("/index.php/login/validate", { 'account': account, 'password': password },
                   function(data){
                   $('#msg').html(data);
                   alert(data + '----' + parseInt(data));
                       if (parseInt(data) == 0)
                       {
                                window.location = '/index.php/notice/load';
                       }
                       else
                       {
                                alert('密码错误');
                       }
                   });
                return false;
        });

Controller:
function validate()
{
echo '0';
}

花花 发表于 2012-11-16 10:40:23

刚才说错了,输出的数据不是html格式的,原因是我用chrome的原因;
现在的问题是echo '0',在0的前面还有一个不可见的字符

花花 发表于 2012-11-16 10:52:04

问题大概定位了:
执行下面的语句后,在最终显示的页面上,开头会多一个不可见的字符,求高手去掉
$this->load->model('Login_model');

Hex 发表于 2012-11-16 12:39:01

Login_model.php 有 BOM,是你的编辑器给你偷偷加上去的。
使用 UTF-8 无签名 重新保存文件。
页: [1]
查看完整版本: controller如何得到纯字符串