Mar*_*eah 5 jquery codeigniter
我遇到了codeigniter和JQuery Ajax Post的问题.
我的javscript
$('.remove').click(function(){
var category=event.target.id;
var id=$('input[name=article_id]').val();
var p={};
p['id']=id;
$.ajax({
type: "POST",
url: "/backend.php/blog/removeCategories",
async:true,
cache:false,
data: {id: id, category: category }
}).done(function(msg){
jQuery('#category_list').load('/backend.php/blog/refreshCategories/',p,function(str){});
});
Run Code Online (Sandbox Code Playgroud)
我的codeigniter的控制器
function removeCategories(){
$id=$_POST['id'];
$category_id=$_POST['category'];
$this->article->removeCategory($category_id,$id);
}
Run Code Online (Sandbox Code Playgroud)
我无法使用ajax函数,因为始终从服务器收到错误500.虽然,firebug返回加载资源时出错,但仍然执行函数removeCategories.
通过对data选项进行以下更改,确保正确传递数据.
$.ajax({
type: "POST",
url: "/backend.php/blog/removeCategories",
async:true,
cache:false,
data: {"id": id, "category": category }
}).done(function(msg){
jQuery('#category_list').load('/backend.php/blog/refreshCategories/',p,function(str){});
});
Run Code Online (Sandbox Code Playgroud)
您编码的方式,每个键值对的键被设置为变量的值.
您的错误可能出在模型中。使用chrome dev toolkit查看返回的页面内容是什么。HTTP CODE 500表示服务器错误,通常是由于 PHP 中某处的语法问题造成的。
另外,在 ajax 调用中,您应该使用success:和error:。如果代码抛出错误,这将允许您停止执行。
你为什么打电话backend.php/你不使用index.php吗?
另一种方法是,.load()您可以简单地从控制器传回 html,然后将success: function(data){}其附加到容器,而不是使用。这将允许您监视 ajax 调用是否是error()orsuccess()并采取相应的行动。
| 归档时间: |
|
| 查看次数: |
7825 次 |
| 最近记录: |