В недоумении, почему этот простой JQuery AJAX-скрипт вызывает ошибку в IE7 - PullRequest
3 голосов
/ 13 мая 2010
<script type="text/javascript">
$(function(){
 $('.update').click(function(){
  $.ajax({
     type: "POST",
     url: "/reporting_results/mark_result",
     data: "id="+$(this).attr("id")+"&check="+$(this).val()+"&user_id=<?=$user_id?>&product=<?=$this->uri->segment(3)?>",
  });
 return true
 });
});
</script>

Ответы [ 2 ]

6 голосов
/ 13 мая 2010

Из-за запятой, перед окончанием ваших опций $ .ajax:

 data: "id="+$(this).attr("id")+"&check="+$(this).val()+"&user_id=<?=$user_id?>&product=<?=$this->uri->segment(3)?>", <-- trailing comma, is why
0 голосов
/ 13 мая 2010

В скобках $.ajax контекст this изменяется на действие ajax. Можете ли вы проверить, что this указывает на исходный элемент, который инициировал событие click? Я делал подобные вещи раньше, и я помню, что мне нужно было предварительно выбирать переменные перед входом в блок $.ajax.

$('.update').click(function() {
    var id = $(this).attr('id');
    var value = $(this).val();
    var product = '<?=$this->uri->segment(3)?>';
    $.ajax({
        type: "POST",
        url: "/reporting_results/mark_result",
        data: "id="+id+"&check="+value+"&user_id=<?=$user_id?>&product="+product
    });
});

В javascript ссылка this может быть очень сложной, поскольку она ссылается на текущий контекстный объект javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...