用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2721|回复: 7
收起左侧

[HELP] 关于jquery.ajax怎么获取CI返回的数据且不是通过...->view(数据)传递的

[复制链接]
发表于 2016-8-10 15:48:25 | 显示全部楼层 |阅读模式
页面通过ajax调取数据,因为是ajax调用,所以控制器取到数据后直接就return了,没有$this->load->view(数据),那页面怎么捕捉return回来的数据,如果是通过view(数据)那就是按照CI规定传递数据前台获取就简单了,可现在不是!!!

function addprotogwc(proID){ //
        $.ajax({ //一个Ajax过程
            type: "post", //以post方式与后台沟通
            url : "<?php echo site_url("shopping_cart/addprotogwc")?>", //与此php页面沟通
            dataType:'json',//从php返回的值以 JSON方式 解释
            data: {'proid':proID}, //如果有数据则自动换成post提交
            success: function(msg){//如果调用php成功
                alert(msg);
                $(".gwcul").append(result);
            },
            error:function() {
                alert(0);
            }
        });
    }
实际操作msg是null,没获取到,咋办呢
发表于 2016-8-10 17:12:10 | 显示全部楼层
控制器里怎么能return, 需要echo。
 楼主| 发表于 2016-8-10 17:16:10 | 显示全部楼层
yuzhigang5460 发表于 2016-8-10 17:12
控制器里怎么能return, 需要echo。

用return 把数据返回到页面去,你说用echo我表示不理解,另外即使我用了echo,还是捕捉不到数据!
页面的ajax的success: function(){
                alert(<?php echo $result;?>);
                 }
发表于 2016-8-12 14:09:18 | 显示全部楼层
实际上是不是 ajax 对于 PHP 来说是没区别的,ajax 输出 JSON,普通网页输出 HTML,本质上是没区别的,只是格式的区别而已。
所以,对于 CI 来说,输出皆视图,不管是 JSON 还是 HTML 都通过视图输出就可以了。
建议楼主多思考 HTTP 协议的本质。
 楼主| 发表于 2016-8-12 14:16:03 | 显示全部楼层
Hex 发表于 2016-8-12 14:09
实际上是不是 ajax 对于 PHP 来说是没区别的,ajax 输出 JSON,普通网页输出 HTML,本质上是没区别的,只是 ...

别给我扯这些,给个实际办法解决一下当前问题吧
发表于 2016-8-15 14:33:38 | 显示全部楼层
丘思甲 发表于 2016-8-12 14:16
别给我扯这些,给个实际办法解决一下当前问题吧

很抱歉,我没法帮你写代码,只能给你一个思路,实际代码还需要你自己来写。
发表于 2016-8-18 11:25:13 | 显示全部楼层
shopping_cart/addprotogwc 你在这里只写一个echo '123456';没有数据那就是见鬼了!

success: function(msg){//如果调用php成功
                alert(msg);
            }

你在这里ECHO有啥用? AJAX请求时啥?
发表于 2016-8-19 09:16:09 | 显示全部楼层
控制器里面最后直接
echo json_encode($abc);

ajax那边就收到了

本版积分规则