jquery Post 관련해서 질문이 있습니다.
2012.04.29 08:03
안녕하세요 비졀입니다
요즘 따로 제작 중에 있는 녀석이 있는데.. 지금까진 어찌어찌 js를 이용해서 해왔는데 문제가 좀 생겼습니다.
하드웨어 제원은 제가 바꿀 수 있는 방법이 없어서 Jquery를 사용해서 하려는데 시간적 여유와 함께 제 생각도 정리해볼겸
질문글을 올려봅니다.
우선 물리적으로 서버가 2대 있습니다. 서로 다른 아이피를 가지고 있고요.
현재 상태는 php로 만들어진 특정한 폼에 들어가있는 a와 b 라는 2개의 텍스트 박스에 jsp에서 정보를 보내서 a,b 에 집어넣고
submit 버튼까지 누르게 만드는 것이 목적입니다.
원래는 GetelementById 를 사용해서 form의 id를 가져온 후에 . 을 사용하여 접근을 하려 했으나 계속 fail이 되기에 여기저기 물어보니
보안상 도메인이 다를 경우에는 저 문법이 허용이 안된다는 이야기가 많더군요. 그리고 실제로 같은 서버에서 했을때는 문제없이
잘 돌아가는 소스였습니다.
그래서 친구의 추천을 받은것이 바로 Jquery의 post라는 건데.. 우선 기초지식이 전혀 없는 상태에서 보다보니 .. 쉽다고는 하는데
도대체 무슨 내용인지 모르겠습니다.
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$('#email_address_주소에 있는 텍스트박스의아이디').val('넣을데이터');
$.post("주소" ,$('
function(data) {
});
</script>
이렇게 하면 되지 않을까.. 생각하고 있는데 일단 안되고.. 궁금한점이
지인통신으로는 .serialize()를 실행하게 되면 순차적으로 내용이 들어간다고 하는데..
제가 생각하기에는 이건 이 jquery가 실행되는 페이지내에 있는 폼에 있는 내용들이 serial하게 post될 주소로 날아가는게 아닐까..
라고 의심이 되는데 이부분이 맞는지도 모르겠습니다.
( 디버깅을 어떻게 해야될지 모르겠네요.. 이게 날아간건지 안날아간건지 몰라서요 ㅠ )
$.post("test.php", { name: "John", time: "2pm" } );
레퍼런스 싸이트에서 보이는 저녀석을 쓰게 된다면
데이터를 전송받는 php페이지에서 name이나 time 변수를 받아서 사용하면 되겠지만 현재 전송받는 php페이지의 수정이
불가능한 상황이라 직접 텍스트 박스 ID에 고대로 찍어서 submit을 눌러줘야 되는 상황입니다...
말이 주절주절 많아서 요약하자면
1. Jquery혹은 기타 방법을 통해서 IP가 다른 두 서버간에 특정 form에 있는 텍스트 박스에 데이터를 넣어서 submit까지 하는 방법
2. Jquery post가 제대로 정보를 보내고 있는지, 그리고 전송하는 폼에 데이터가 들어가는지를 보여줄 수 있는 디버깅툴이 있는지
(현재 Fiddler 를 사용중인데 데이터가 날아가는 것까지는 보이는것 같은데 그 폼에 도착했는지는 안보이는 것 같습니다. )
가 궁금하네요.. 사실 다른 방법이 없는건 아닌데
다른 방법이 뻔하고 좀 불만족 스러울 것 같아서 한번 Jquery를 사용해보려는데 도무지 @_@ 네요
안되면 내부 DB에 우선 데이터를 저장하고 데이터 추가 될때마다 trigger를 사용해서 다른 서버에 있는 DB에 직접 쏴줄 예정입니다만..
왠지 그러기가 싫네요.. --;; (Jquery도 못하면서 무슨 똥고집인지 모르겠습니다..)
혹시 이 부분에 대한 조언글이나 혹은 getelementbyid를 다른 도메인상에서도 사용이 가능하다면... 미천한 소생을 살려주세요.. ㅠ_ㅠ
나름 자문 자답입니다만...
JS에서 안되는걸 JS 베이스인 Jquery로 해결하려 했다는데에서.. 아주 멍청한 짓이었다는 것을 명시해두고 싶군요 ㅠ_ㅠ;
도메인이 달라서 서로 데이터 연동이 안되었습니다... JavaScript 능력의 한계를 벗어났다고 친구가 말해주는군요...
그래서 결론은 php curl을 이용해서 소켓통신으로 post를 날려주는 php를 친구가(?!) 짜줬습니다.. -_-;
이틀동안의 삽질이 허무해지는 순간이었습니다 하여튼 해결!