2012-01-24 2 views
1

나는 onclick 상태에서 PHP 스크립트를 실행할 수 있기를 원합니다. 그러나 각 페이지는 보내려는 다른 동작으로 각각 여러 개의 버튼을 가질 수 있습니다. 스크립트를 실행하고 싶지만 페이지를 변경하고 싶지는 않습니다.AJAX에서 변수 인수로 PHP 스크립트를 실행합니까?

이것은 리모트 박스의 설정을 변경하기 위해 UDP 클라이언트를 실행하는 것입니다. 다른 버튼을 다른 보드에 보내면 실제로 스크립트에 2 개의 인수를 보내야합니다. 이 같은

뭔가 내가 보내야 : set_states.php IP = xxx.xx.xxx.xx & cmd를 = CR1

도움을

고맙습니다!

+4

그냥 아약스 튜토리얼을 찾으십시오. 그물에는 많은 것들이 있습니다. – xdazz

답변

1

URL이 실제로 무엇인지는 중요하지 않습니다. 중요한 것은 사용중인 HTML 동사 (get, post, delete, put)와 반환 된 콘텐츠 유형입니다. URL은 무엇이든 될 수 있습니다. jquery 같은 js 라이브러리를 사용하고 싶습니다. $ .get, $. post, $ .ajax 함수를 확인하십시오.

js 라이브러리를 사용하지 않으면 다양한 브라우저의 모든 차이점을 고려해야합니다. 일반적으로 다음과 같이 나타납니다. http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

jquery를 사용합니다 (매우 빨리 시작할 수 있기 때문에). 변수가 url에 있고 다른 데이터를 보내지 않으면 get을 사용합니다. 일반적으로 뮤 테이터의 경우 게시물을 사용해야합니다. 나는 네 사건에서 그렇게 생각하지 않는다. (필요에 따라 변경할 수) 웹 페이지에에 다음 스크립트를 드롭 :

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
<script> 
$(function(){ 
    $('#the-id-of-your-button').live('click',function(){ 
     $.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){ 
      alert('success'); 
     }); 
    }); 
}); 
</script> 

첫 번째 부분 : 일치하는 요소가 표시되는지 확인하는 의미에서 브라우저를 감시하고 그들에 클릭 이벤트를 결합 $('#the-id-of-your-button').live('click'. 어떤 의미에서는 돔 변경을 적극적으로 기다리고 있습니다. Click은 핸들러이고 $ ('# the-id-of-your-button')는 선택 자입니다. 다음 부분 :

function(){ 
     $.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){ 
       alert('success'); 
     }); 
    }); 

클릭 이벤트가 발생하면 어떻게됩니까? 이것을 익명의 함수라고합니다. 그것은으로 다시 작성할 수 있습니다 : 그런

function onButtonClick(){ 
     $.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){ 
       alert('success'); 
     }); 
    }); 
    $('#the-id-of-your-button').live('click',onButtonClick()); 

이나 뭐,하지만 그게 전부는 당신이 무슨 일이 일어나고 있는지 이해하는 데 도움이.

다음 부분 :

$.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){ 
      alert('success'); 
    }); 

는 아약스 요청 및 성공적으로 반환하는 경우 실행할 수있는 기능입니다. 이 경우 단순히 경고 만합니다.

아 또한 : $(function(){});이 모든 것을 포함하며 페이지가 준비되면 스크립트를 실행하도록 알려줍니다. 일단 페이지가 준비되면 라이브 명령을 켜서 단추를 살펴 봅니다. 당신은 그것을 필요로하지 않을 수도 있습니다 (나는 몇몇 경우가 있다는 것을 압니다, 중요하지 않은 곳이 있습니다.

비트를 약간 조정해야 할 수도 있습니다. :).

+0

솔직히 말해서 나는 AJAX에 완전히 익숙하지 않다. 실행하고 싶은 스크립트는 출력이 전혀 없다. 그래서 나는 최선의 사용법을 모른다. – Speedy2k

+0

아, 그래, 정말 어림짐작이다. 거의 언제든지 mutator와 같은 역할을하는 함수/스크립트를 가지고있다. (뭔가를 수정하지만 반드시 반환 할 필요는 없다) 포스트를 사용하여 수행해야한다. Get은 데이터를 검색한다는 의미입니다. 당신은 게시물을 사용해야하며, 매우 중요하기 때문에 jquery를 사용해야합니다. 내 대답을 업데이트 할게. – Parris

+0

@Parris 답변을 검토해야합니다 ... URL은 아약스 요청에서 가장 중요합니다. jquery는 프레임 워크가 아니며 라이브러리입니다. – Tudor

관련 문제