2016-12-26 1 views
2

다음으로 시작하십시오 : 나는 총 newb입니다. 이 기능들은 내가 처음 작성한 기능 중 하나입니다. 저는 Wordpress를 사용합니다 (그리고 사이트에서 사용되는 가장 중요한 플러그인은 BuddyPress입니다). 필자가 기본적으로 스크립트를 만들려면 내 데이터베이스에서 무언가를 삭제 한 다음 특정 링크를 누를 때 한 번 페이지를 다시로드해야합니다. 아무것도 더.내 스크립트가 무한 루프를 일으키고 있습니다

내 페이지가 무한 루프로 멈추는 Internet Explorer에 문제가 있습니다. 이 문제는 Chrome에서 전혀 발생하지 않습니다. 나는이 포함 된 PHP가 다음에서 다음 스크립트가 실행 링크를 누르면

<li><a id="edit" href="#" onclick="runUpdateForm();">Uppdatera profil</a></li> 

:

function resetUser() { 
    $user_id=get_current_user_id(); 
    global $wpdb; 
    $wpdb->query("DELETE FROM wp_profile_updates WHERE user_id='".$user_id."'"); 
    die(); // close the connection 
} 

add_action('wp_ajax_resetUser', 'resetUser'); // add action for logged users 
add_action('wp_ajax_nopriv_resetUser', 'resetUser'); // add action for unlogged users 

후 내에서

<!--Javascript runUpdateForm--> 
<script type="text/javascript"> 
function runUpdateForm() { 
    $.post (ajaxurl, { 
     action:'resetUser', 
      user_id:jQuery("#user_id").val() 
      }); 
    window.location.reload(); 
} 
</script> 
<!--End Javascript runUpdateForm--> 

기능을-파일 발견 다음 약간의 인터넷 검색 내가 location.Load() 위에 올린 다음 코드 조각을 찾았습니다.

history.pushState("", document.title, window.location.pathname + window.location.search); 

이로 인해 무한 루프가 사라졌지만 Chrome과 비교하여 실제로 발생하려는 Internet Explorer에서 한 번 더 많이로드됩니다.

내 불쌍한 영어로 죄송합니다. 나는 스웨덴 사람이다 :-)

나는 도움을 감사한다. 미친 듯이 보이고 바뀌어야하는 것을 즉시 볼 수 있는지 알려주는 지식이있는 사람이 필요합니다. 내 문제는 아마 내 사이트에서 일어나는 다른 일과 관련이 있습니다.

감사합니다.

+0

가 : 당신이 포기하기 전에 스스로를 배울 수있다 그래서 당신은 아약스을 기다리고 필요 거짓 평가 ... –

+0

@Bryant 잭슨 장소에서 보인다 –

답변

2

코드에서 수행하는 작업 : ajax를 시작한 다음 다시로드하십시오. 아약스는 비동기이므로 서버에 게시하지 않으며 재로드로 인해 중단됩니다.

<script type="text/javascript"> 
function runUpdateForm() { 
    $.post (ajaxurl, { 
    action:'resetUser', 
    user_id:jQuery("#user_id").val() 
     },function(){ 
     // executed on success 
     window.location.reload(); 
     }); 
} 
</script> 

, ajaxurl가 정의 메신저 궁금가 ...

이 흠, 아무것도 정말이
+0

이것 자체로도 무한 루프가되었습니다. 나는 이것을 "history.pushState (" ", document.title, window.location.pathname + window.location.search);와 결합했다." (나는 windows.location.reload(); 위에 올려 놓았다.) 솔루션을 제공해 주셔서 감사합니다. 내 머리글에 Ajaxurl이 정의되어 있습니다. 거기에서 그것을 제거해야합니까? – solojuve1897

+0

아니, 그 벌금, ive 그냥 놓친 –

관련 문제