2011-05-25 126 views
0

我有一个文件夹结构一样,在笨笨控制器不返回回值查看通过jQuery的

+asset 
+css 
+js 
    +jquery 
    jquery.js 
    global.js 
+application 
+system 

,所以我想你找出结构的其余部分。现在,我有这种说法像:

<li> 
     <label>Pa&iacute;s</label> 
     <div> 
      <select name="pais" id="pais"> 
       <option value="" selected="selected"> -- Selecciona un pa&iacute;s</option> 
       <?php foreach($thesex as $pais):?> 
        <option value="<?php echo $pais->pais_id; ?>"><?php echo ascii_to_entities($pais->pais_descrip); ?></option> 
       <?php endforeach;?> 
      </select> 
     </div> 
    </li> 

    <li id="esta"> 
     <label>Estado</label> 
     <div> 
      <select name="estad" id="estad"> 

      </select> 
     </div> 
    </li> 

和我的控制器如下:

function estado_paisout() 
{ 
    $this->output->set_status_header(200); 
    $this->output->set_header('Content-type: application/json'); 
    $done = $this->input->post('pid'); 
    $est = $this->Estado_model->estado_paisout($done); 
    echo json_encode($est); 
} 

和我的jQuery代码是:

$("#pais").change(function(){ 
    var id = $(this).val(); 
     $("#esta").show(); 
     $.ajax({ 
     type: "POST", 
     url: base_link+"/am_registr/ciudad/estado_paisout", 
     dataType: "json", 
     data: {'pid': id}, 
     success: function(xhr){ 
      alert(xhr); 
      }, 
     error : function(xhr, status, error){ 
      alert(xhr.responseText); 
      } 
     });  
    return false; 
}); 

所以,问题是,这是返回一个404错误页面,表示无法找到该页面。当我尝试从控制器回显一个简单的“你好”时,它会给出同样的错误。但是当我在浏览器中尝试完整链接“localhost/mysite/index.php/am_registr/ciudad/estado_paisout”时,它告诉我这是一个application/json文件,所以当我保存并尝试用记事本打开它时,我得到了“你好”。

任何帮助是受欢迎的..!

回答

0

不知道,我会选择要检查你的config /路线,以确保它可以处理

am_registr /城/ estado_paisout

我觉得默认的是治疗

  • am_registr as controller
  • ciudad as action(method)name
  • estado_paisout为PARAM ...

而你治疗estado_paisout作为动作名称。

我也想看看是要确保你的mod_rewrite工作在本地主机上

以及哪些代码点火器用来除去从URL中的index.php .htaccess文件正在

+0

实际上划伤的路线,如果你可以通过浏览器访问... – 2011-05-25 14:36:59

0

嗨大卫陈,
我得告诉你,我解决了这个问题,我想这只是在jquery函数中声明变量base_link = "localhost/mysite/index.php",而不是像那样:base_link = "http://localhost/mysite/index.php".所以感谢您的帮助..!