Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在cakephp中使用ajax加载库_Javascript_Php_Jquery_Ajax_Cakephp - Fatal编程技术网

Javascript 在cakephp中使用ajax加载库

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

我使用CakePHP2.8.0。我的问题是ajax。我不知道如何在我的应用程序中实现ajax。我有李与类别的链接,点击后,我需要删除一些html代码,并在我的控制器中找到必要的类别,并得到这个数组的响应html和打印它

我的PhotosController操作:

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已经做了一些关于