1

何かを返すはずの ajax 要求をコントローラーに送信しようとしていますが、そうではありません。私の要素 (View/Elements/list.ctp):

<script type="text/javascript">
    $(document).ready(function(){
        $('#click').click(function(){
            $.ajax({
                type: "POST",
                url: '<?php echo Router::url(array('controller' => 'products', 'action' => 'showProducts')); ?>',
                success: function(data){
                    alert(data);
                }
            });
        });
    });
</script>
<p id="click">Click me!</p>

コントローラー製品:

<?php
    class ProductsController extends AppController {
        public $helpers = array('Js' => array('Jquery'));
        public $components = array('RequestHandler');
        var $name = 'Products';

        function showProducts(){

            return 'This should to return in jQuery data';
        }
    }
?>
4

2 に答える 2

1

タイプミス 引用符の不一致

二重引用符を使用してラップします

url: "<?php echo Router::url(array('controller' => 'products', 'action' => 'showProducts')); ?>",     
     ^                                                                                         ^


問題

url: '<?php echo Router::url(array('controller' => 'products',
                                          var ^ str^ var

controller文字列でproductsはなく変数として扱われます

于 2013-11-11T16:54:30.520 に答える