langziyang 发表于 2010-5-19 19:50:19

ci+jquery+ajax应该怎么写?已搜索过论坛和google

.js

$(document).ready(function(){
    var base_url="";//定义路径
    $("#selectmore").hide();
    $("input").bind("keyup",function(){
      var $value=$(this).val();      
      $.ajax({
            url:base_url+"/index.php/cash/test",//传值到这里
            type:"post",//方式
            dataType:"json",
            data:"goodscode="+$value,
            success:function(json){
                $('#selectmore').show().text(json.goodsname);
            }
      })
    })
})





php

function test() {
      $goodscode=$this->input->post('goodscode');
        if($goodscode=="test"){
            $goodsname="测试一下";
      }else{
            $goodsname="再测试一下";
      }
      echo json_encode(array ('goodsname'=>$goodsname));
    }


请问这样写是对的吗?为什么没有反映,是哪里错了

Hex 发表于 2010-5-19 19:59:12

用 firebug 看过了吗?
没有的话先看看,都提交了什么数据,返回了什么数据。
firebug 一目了然。

langziyang 发表于 2010-5-19 20:40:55

Firebug 的日志已达上限。 0 条未显示。                首选项       
POST http://localhost/member/%3C?php%20echo%20base_url();?%3Ecash/test
       
403 Forbidden
                13m

langziyang 发表于 2010-5-19 20:46:02

得不到值?

langziyang 发表于 2010-5-19 21:01:39

好怪,明明大家都说url那里一定要什么base_url什么的,但是刚才调试发现,我没写也行,可能是因为我在头部里是这样引入js文件有关
<script type="text/javascript" language="javascript" src="<?php echo base_url().'js/jquery.js';?>"></script>
      <script type="text/javascript" language="javascript" src="<?php echo base_url().'js/js.js';?>"></script>

Hex 发表于 2010-5-19 23:31:47

POST http://localhost/member/%3C?php%20echo%20base_url();?%3Ecash/test
看到这句,说明你在 js 里放了 php 代码,浏览器怎么能执行 PHP 代码呢?

用不用 base_url() 你要搞清楚原因,是因为必须用绝对路径,如果你的网站是在根目录,你完全可以用 / 代替。

PS: 楼主应该多看看手册,包括 PHP,JS 等的。

乌有 发表于 2010-5-20 10:08:24

post的地址指定正确的路径就是了.像楼主的代码,如果是导入js的话,js里面何来一个base_url().
页: [1]
查看完整版本: ci+jquery+ajax应该怎么写?已搜索过论坛和google