2011-09-23 2 views
0

질문 자체가 다소 모호하게 보일 수도 있습니다. 내가 정교하게 하렴.부모 페이지를 새로 고치지 않고 jquery에서 "get"PHP 창을 여는 방법은 무엇입니까?

jquery가 제어하는 ​​페이지에서 데이터를 PHP 파일에 게시하려고합니다. 여기

내가 JQuery와 끝 부분에있는 것입니다 :

var openURL = "http://derp.com/restr/js/addfood.php?fname=" + encodeURI(food_n) + "&fcals=" + encodeURI(food_c); 
window.open(openURL); 

문제가 실 ​​거예요 페이지로 이동하는 것이 아니라, 문제는 상위 페이지를 다시로드 코드가 실행되면 있다는 것입니다. 이 일을 막기위한 방법이 있습니까?

+1

여기에 jquery가 전혀 없습니다. – thedaian

+0

jquery 태그가 붙은 유일한 이유는 "just-in-case"대안이었습니다. 두 사람이 잘 돌아 가지 않을 수도 있다고 생각했습니다. – user961709

답변

1

jQuery's ajax() methods을 조사해야합니다. PHP 스크립트의 데이터가로드 될 때 페이지를 새로 고치지 않고 실행할 특수 기능을 가지고 있습니다.

기본적인 아이디어는 GET 또는 포스트 PARAMS을 유지하기 위해 data 객체를 사용하여 ... ... 같은 것을 사용하는

$.ajax({ 
    url: "file_to_load.php", 
    data: {}, 
    success: function(data){ 
    //it worked! 
    alert(data); 
    } 
}); 

입니다.

0

유일한 옵션은 현재 페이지에 콘텐츠를 다시로드하는 것입니다. 즉, 두 번째 페이지 전체가 ajax를 통해 원본을 대체해야합니다. 성능을 원하는 위치에 따라 두 번째 페이지 전체를 "display : none;"으로로드 할 수 있습니다. 박쥐를 벗어나 새로운 콘텐츠를 뺀 다음 아약스 이후에 추가합니다. 또는 "새 페이지"를 전달하면 변경되지 않는 항목은 제외하고 아약스로 바꿀 수 있습니다.

나는 아약스를 안팎으로 마스터하지 못했기 때문에 다른 방법이있을 수는 있지만 확실하지는 않습니다.

관련 문제