Ajax с jquery не работает - PullRequest
       9

Ajax с jquery не работает

1 голос
/ 24 декабря 2009

На странице просмотра:

<script languge="javascript" type="text/javascript">
  $(document).ready(function() {
    $('#delete').click(function(e) {;
        e.preventDefault();
        var parent = $(this).parent();
        mainParent=parent.parent();

        $.ajax({ 
            type: 'post',
            url: "<?= site_url('controller_Test/fnDelete') ?>",
            data: "id="+$(this).prev().text(),

            success: function() {
                mainParent.slideUp(0,function() {
                    mainParent.remove();
                });
            }

        });
        return false;
    });
});

Контроллер --controller_Test

function fnDelete(){
   $data['delete_me']=$_POST['id'];

    if (!empty($data['delete_me'])){
        $this->load->model('data_Model', '', TRUE);
        $this->properties->deleteRec($data['delete_me']);
        $this->output->set_output('works');
    } else {
        $this->output->set_output('dontwork');

    }
}

При этом fnDelete должен удалить строку в базе данных. Но это не удаление. но это убирает эту строку из поля зрения. Использую codeigniter. Что-то не так с моим кодом ??1011*

Ответы [ 2 ]

2 голосов
/ 24 декабря 2009

Во-первых, у вас странная точка с запятой:

$('#delete').click(function(e) {;

Снимите это с конца. Затем попробуйте вместо этого свои данные:

data: {"id":$(this).prev().text()}

Возможно, вы также захотите обработать ответ внутри вашего обратного вызова и отобразить результаты, чтобы вы знали, был ли PHP успешным или неудачным.

success: function(results) {
  if (results == "success") {
    /* remove associated elements */
  } else {
    alert("An error occurred.");
  }
}
0 голосов
/ 24 декабря 2009

Для проверки вашей функции вы можете использовать fiddler или вы также можете добавить эхо в ваш контроллер и предупреждение в вашей функции успеха. Например:

  $(document).ready(function() {
    $('#delete').click(function(e) {;    
        e.preventDefault();
        $.ajax({ 
            dataType: 'text',
            success: function(responseText) {
                alert(responseText);
            }

        });
        return false;
    });
});

Контроллер --controller_Test

function fnDelete(){
   $data['delete_me']=$_POST['id'];
   echo 'deleting ' . $data['delete_me']
   // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...