2010-06-21 4 views
4

모습을 작동하는 것을 허용하지 않습니다하시기 바랍니다

$("#change").click(function() 
{ 
    var val = $("#new_title").val(); 
    if(val == '') 
    { 
    alert("Նշեք խնդրեմ անունը"); 
    return false; 
    } 
    else 
    { 
    $.post 
    (
    "change_title.php", 
    {id: id, lang: lang, val: val} 
    ); 

     window.location.reload(); 
    } 
}); 
idlang 글로벌 변수

.

in change_title.php 테이블을 업로드합니다.

편집 후에 변경 사항을 표시하려고하므로 window.location.reload(); 기능을 사용하지만 작동하지 않습니다. window.location.reload(); 기능을 삭제하면 정상적으로 작동합니다.

무엇이 문제입니까?

덕분에이 같은

당신은 $.post() 완료 한 후 실행해야

답변

13

:

$.post("change_title.php", 
     {id: id, lang: lang, val: val}, 
     function() {window.location.reload(); }); 

$.post()에 콜백으로이 일을하지 않고 (이 완료되면이 실행), 윈도우가 떠나입니다 전에 POST가 완료됩니다. 당신은 window.location.reload에 타임 아웃을 사용하거나 콜백 함수를 사용할 필요가

$.post("change_title.php", 
     {id: id, lang: lang, val: val}, 
     window.location.reload); 
+0

고정 : thanks much;) – Simon

+0

생명의 은인 XD – Vasseurth

1

: 당신이 그 함수에서 다른 작업을 수행 할 필요가없는 경우에 그것을 아래로 줄일 수 있습니다. 게시물에 보낼 충분한 시간이 주어지지 않았습니다.

+5

콜 아웃 기능 대신 타임 아웃을 사용하는 것은 결코 좋은 생각이 아닙니다. 타임 아웃에 할당 된 시간 전에 서버가 응답한다는 보장은 없습니다. –