2013-06-16 2 views
-4

Вот мой код ...Ajax не работает на сервере, а на местном работает отлично

$('.savebtn').click(function() { 
    var idComment = $(this).attr('idComment'); 
    var content = $("#area" + idComment + "").val(); 
    $.ajax({ 
     url: 'update_comment.php?idComment=' + idComment + '&content=' + content + '' 
    }); 
    //$("#area"+idComment+"").val(content); 
    $("#editarea" + idComment + "").hide(); 
    location.reload(); 
}); 
+4

что именно является _not working_? – Zim84

+0

Для чего нужен сервер? Опубликовать или получить? – Misters

+0

Код ajax .. Сначала я думал, что это что-то не так с update_comment.php, но это не так. Я предполагаю, что с сервером что-то не так. Я использую бесплатный веб-хостинг (http://www.000webhost.com/) – Vladimir

ответ

3

Поскольку вы предоставляете так мало информации о «не работает», я должен делать предположения. Здесь я считаю, это корень проблемы:

$.ajax() асинхронный вызов, это означает, что код ниже $.ajax() будут выполнены даже $.ajax() еще не закончена. В вашем случае: location.reload(); может быть выполнен до $.ajax() был успешным. Если это так, ваш запрос ajax будет отменен, прежде чем он сможет закончить.

Решение поместить весь код, который полагается на $.ajax() будучи преуспевающим или законченным внутри успеха обработчика:

$('.savebtn').click(function() { 
    var idComment = $(this).attr('idComment'); 
    var content = $("#area" + idComment + "").val(); 
    $.ajax({ 
     url: 'update_comment.php?idComment=' + idComment + '&content=' + content + '', 
     success: function() { // this code will be executed when your ajax-call has finished successfully 
      location.reload(); 
     }, 
    }); 
    //$("#area"+idComment+"").val(content); 
    $("#editarea" + idComment + "").hide(); 
}); 
+0

Вот и ответ. Он работает .. Большое спасибо! – Vladimir

Смежные вопросы