Javascript 在cakephp中使用ajax加载库
我使用CakePHP2.8.0。我的问题是ajax。我不知道如何在我的应用程序中实现ajax。我有李与类别的链接,点击后,我需要删除一些html代码,并在我的控制器中找到必要的类别,并得到这个数组的响应html和打印它 我的PhotosController操作:Javascript 在cakephp中使用ajax加载库,javascript,php,jquery,ajax,cakephp,Javascript,Php,Jquery,Ajax,Cakephp,我使用CakePHP2.8.0。我的问题是ajax。我不知道如何在我的应用程序中实现ajax。我有李与类别的链接,点击后,我需要删除一些html代码,并在我的控制器中找到必要的类别,并得到这个数组的响应html和打印它 我的PhotosController操作: public function getPhotoByCategory($category = null) { $category=$_GET['category']; debug($category); $thi
public function getPhotoByCategory($category = null)
{
$category=$_GET['category'];
debug($category);
$this->render('getPhotoByCategory', 'ajax');
}
我的html代码:
<div class="lol">
<ul>
<?php foreach($categories as $category):?>
<li>
<a href="<?php echo $category['Category']['cat_name'];?>" class="lol"><?php echo $category['Category']['cat_name'];?></a>
</li>
<?php endforeach;?>
</ul>
</div>
-
我的JS代码:
$(".lol").click(function (e) {
e.preventDefault();
var category = $(this).attr("href");
$.ajax({
type: 'get',category,
data: {catyegory:
url: '<?php echo $this->Html->url(array('controller' => 'Photos', 'action' => 'getPhotoByCategory')); ?>',
success: function(response) {
if (response.error) {
alert(response.error);
console.log(response.error);
}
if (response.content) {
$('#target').html(response.content);
}
},
error: function(e) {
alert("An error occurred: " + e.responseText.message);
console.log(e);
}
});
});
$(“.lol”)。单击(函数(e){
e、 预防默认值();
var category=$(this.attr(“href”);
$.ajax({
键入:“获取”,类别,
数据:{catyegory:
url:“”,
成功:功能(响应){
if(response.error){
警报(响应.错误);
console.log(response.error);
}
if(response.content){
$('#target').html(response.content);
}
},
错误:函数(e){
警报(“出现错误:+e.responseText.message”);
控制台日志(e);
}
});
});
请帮助我在cakephp中使用适合这种情况的ajax。我发现处理ajax获取项目的最佳方法是为要插入的项目创建一个元素(在您的示例中,是来自类别的照片) photocontroller.php
public function getPhotoByCategory($category = null)
{
$this->set('photos', $this->Photo->find('all', ['conditions' => ['category_id' => $category]]);
$this->render('Elements/getPhotoByCategory');
}
<button class="loadphoto">Load Photos</button>
<div class="lol">
</div>
上面示例中的元素包含一个for循环,该循环遍历$photos并输出它们。然后使用下面的JS代码将其加载到div“lol”中:
查看/照片/按类别获取照片。ctp
public function getPhotoByCategory($category = null)
{
$this->set('photos', $this->Photo->find('all', ['conditions' => ['category_id' => $category]]);
$this->render('Elements/getPhotoByCategory');
}
<button class="loadphoto">Load Photos</button>
<div class="lol">
</div>
Dereuromark已经做了一些关于