尝试在Cakephp中执行ajax请求,但会重定向到表单中指定的链接

时间:2015-11-26 03:54:08

标签: jquery ajax cakephp cakephp-2.0

我正在尝试在链接单击传递id值时执行ajax请求。如果成功,请尝试提醒数据。请告诉我有什么问题。     $('a.view-btn')。on('click',function(e){             var view = $(this);             var id = view.data('id');

        $.ajax({
            url: '/bootstrap_exercise/contacts/view/',
            type: 'POST',
            data: {product_id: id},
            success: function(data) {
                alert(data);
                $('div#view-contact').load('/bootstrap_exercise/contacts/view .view-contact');
            }
        });
        console.log(id);
    });

这是我在控制器中的编辑方法

public function view($id) {         
        if ($this->request->is('ajax')) {
            $this->autoRender = false;
            $this->set('contact', $this->request->data('product_id'));
            echo "AJAX SUCCESS";
        } else {
            $this->set('contact', $this->Contact->findById($id));
        }
    }

2 个答案:

答案 0 :(得分:0)

在声明结尾处返回false。

$('form#add_form').on('submit', function(e){
        var thisForm = $(this);
        $.ajax({
            url: thisForm.attr('action'),
            type: 'POST',
            data: thisForm.serialize(count),
            success: function() {
                console.log(count);
            } 
        });
        e.preventDefault();
        return false;
    });

答案 1 :(得分:0)

//use preventDefault()   
$('form#add_form').on('submit', function(e){
            e.preventDefault();
            var thisForm = $(this);
            $.ajax({
                url: thisForm.attr('action'),
                type: 'POST',
                data: thisForm.serialize(count),
                success: function() {
                    console.log(count);
                } 
            });
            e.preventDefault();
        });