我想从jquery中调用一个codeigniter控制器方法 截至目前我正在尝试这样的事情,但它没有用,任何人都可以用这个来帮助我
$.ajax({type: "POST", url:"site/controller/method/",
success: function(){
alert("success");
},
error: function(xhr, textStatus, error){
alert(xhr.statusText);
alert(textStatus);
alert(error);
}
});
答案 0 :(得分:3)
我自己使用CI,并且发现在处理AJAX请求时我需要直接指向该文件,如果需要,可以使用它来推送一些变量。
$.ajax({
type: "POST",
url: "system/application/views/ajax.php",
data: "key=value",
success: function(){ alert("success"); },
error: function(xhr, textStatus, error){
alert(xhr.statusText);
alert(textStatus);
alert(error);
}
});
答案 1 :(得分:1)
你的问题很模糊:你有404?你有javascript错误吗?出了什么问题?
如果您遇到404错误,最简单的方法就是在浏览器的位置栏中测试URL:您可以在浏览器位置栏中打开的任何URL都可以复制到javascript中,一定会有效。从浏览器位置栏调用的URL或从jquery post
或get
或ajax
调用的锚点和URL之间的代码点火器方面应该没有区别。
我建议使用Firebug来查看引擎盖下的活动:它可能会让您更容易查明这些错误。
答案 2 :(得分:0)
我做了一个名为ajax的控制器,我有我所有的ajax方法。并返回json编码的东西。 jquery stuff:
$.post("ajax/stuff", function(data){
alert(data.some_data); // John
}, "json");
在ajax控制器中:
public function stuff()
{
$response_array = array();
$response_array['some_data'] = 'lorem ipsum';
//$response_array['html'] = $this->load->view('popbox_error', $data, true);
$data['json'] = json_encode($response_array);
$this->load->view('json_response', $data);
}
json观点:
<?php echo $json;
答案 3 :(得分:0)
试试这个
var base_url ='您的基本网址;
$.post(base_url+"/controller/function", {'param1': x,'param2':y}, function(data){
if(data.length >0) {
//do whatever you want
}
});