我试图通过对控制器函数进行AJAX调用来从数据库检索行。我没有错误消息,并且代码可以正确执行,直到$(“#msgbox”)。html(“输入某人或某物的名称...”);
我认为从视图中未正确调用控制器。下面是我的MVC代码。
我的看法:welcome_message.php
<div id="centersearch">
<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var start=/^((?!PART).)*$/
var word=/^((?!PART).)*$/
$("#contentbox").live("keyup",function()
{
var content=$(this).text(); //Content Box Data
var go= content.match(start); //Content Matching @
var name= content.match(word); //Content Matching @abc
var dataString = 'searchword='+ name;
//If @ available
if(go.length>0)
{
$("#msgbox").slideDown('show');
$("#display").slideUp('show');
$("#msgbox").html("Type the name of someone or something...");
//if @abc avalable
if(name.length>0)
{
$.ajax({
type: "POST",
url: "<?php $this->load->helper('url'); echo base_url();?>index.php/Welcome/ ?>", // Database name search
data: dataString,
cache: false,
success: function(data)
{
$("#msgbox").hide();
$("#display").html(data).show();
}
});
}
}
return false();
});
//Adding result name to content box.
$(".addname").live("click",function()
{
var username=$(this).attr('title');
var old=$("#contentbox").html();
var content=old.replace(word," "); //replacing @abc to (" ") space
$("#contentbox").html(content);
var E="<a class='red' contenteditable='false' href='#' >"+username+"</a>";
$("#contentbox").append(E);
$("#display").hide();
$("#msgbox").hide();
});
});
</script>
我的控制器:Welcome.php
public function search()
{
$this->load->database();
//load the model
$this->load->model('select');
//load the method of model
$data['s']=$this->select->search();
$this->load->view('welcome_message', $data);
}
我的模型:Select.php
public function search($datastring)
{
$query = $this->db->select('*')
->from('country')
->where('from', $datastring)
->get();
return $query;
}
您可以在构造函数中调用助手
function __construct() {
parent::__construct();
$this->load->helper('url');
}
而您的ajax网址是
url: "<?php echo base_url();?>index.php/Welcome/search?>",
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句