2012-11-03 2 views
1

데이터를 원격 서버에 게시해야하는 Phonegap 앱이 있습니다. 그러나 jQuery의 $ .post를 사용하려고하면 결코 콜백에 들어 가지 않습니다. 나는이 프로그램을 실행하고 이클립스 로그 캣에서 볼 때

$(document).ready(function() { 
    $('form').submit(function() { 
     console.log('about to post'); 
     $.post('http://mysubdomain.mydomain.com/index.php', function(data) { 
      console.log('In callback'); 
      console.log(data); 
     }); 
    }); 
}); 

, 나는하지만 "콜백에서"볼 수 없습니다 "게시 정보"참조 :

여기 내 자바 스크립트입니다. 내 서버의 PHP 파일에있는 스크립트 태그에이 태그를 덤핑하여 자바 스크립트 콘솔에 HTML이 표시되는 것을 볼 때 페이지가 새로 고쳐질 때 정확하고 확실한지 확인했습니다. res/xml의 config.xml 파일에있는 모든 도메인을 이미 허용 목록에 추가했기 때문에 왜 작동하지 않는지 이해할 수 없습니다. 누구나 통찰력이 있다면 알려주세요. 감사!

답변

0

성공 콜백을 입력하지 않은 이유는 일종의 오류가 발생했기 때문입니다. 적어도 쇼 당신에게 오류 ... 나는 위의 대답에 동의

+0

는,뿐만 아니라 그것이 어쩌면 당신 수 없습니다 $ .post 때문에에 실패한다

$(document).ready(function() { $('form').submit(function() { console.log('about to post'); $.ajax({ url: 'http://mysubdomain.mydomain.com/index.php', data: {}, // your data (if any) should go here dataType: 'application/json' // or whatever you expect back success: function(data) { console.log('In callback'); console.log(data); }, error: function(error) { console.log(error); } }); }); }); 

: 같은과 같은 요청을 시도 페이지가 게재 된 위치가 아닌 다른 호스트 이 문제는 phonegap에서 피할 수 있지만 안드로이드/ios 시뮬레이터에서 실행해야합니다 – olore

+0

제안에 감사드립니다. 나는 그것을 시도하고 오류를 인쇄 할 수 있었다 : { "readyState": 0, "responseText": "", "status": 0, "statusText": "error"}. 인터넷 검색을 시도하고 유일한 결과는 도메인 간 스크립팅 문제에 관한 것입니다. 나는 에뮬레이터와 휴대 전화에서 같은 결과를 얻으 려 시도했다. 어쩌면 내 Phonegap 설정에 문제가있을 수 있습니까? – amandawulf

+0

readyState 0은 요청이 취소되어 절대로 전송되지 않았 음을 의미합니다. CORS 문제라고 생각되면 Chrome에서 명령 줄에 --disable-web-security 옵션을 사용하여 실행하여 확인할 수 있습니다. Chrome devtools에서 "Log XMLHttpRequests"옵션을 선택하여 콘솔에서 요청을 쉽게 검토 할 수 있습니다. – Andbdrew

관련 문제