2012-06-21 4 views
1

Phonegap 및 Jquery Mobile을 사용하여 Eclipse Android 에뮬레이터에서 양식을 제출하려고합니다. 양식을 제출하고 양식이 성공적으로 제출되었는지 여부를 나타내는 메시지를 보려고합니다. 인터넷 브라우저에서 양식을 제출하면 PHP 페이지가 정상적으로 작동합니다. 그러나 Android 에뮬레이터를 사용하려고하면 양식 제출이 PHP 파일을 가져 오지 않습니다.Phonegap + Jquery Mobile Android App 양식 제출

다음은 현재 사용중인 html 형식입니다. 나는 phonegap과 jquery 스크립트를 포함시켰다. AJAX와 게시물입니다 내가 사용하고

<form id="myForm" > 
       <div data-role="fieldcontain"> 
        <fieldset data-role="controlgroup" data-mini="true"> 
         <label for="textinput1"> 
          Name 
         </label> 
         <input id="fullnameid" name="fullname" placeholder="" value="" type="text" /> 
        </fieldset> 
       </div> 
       <div data-role="fieldcontain"> 
        <fieldset data-role="controlgroup" data-mini="true"> 
         <label for="textinput2"> 
          E-Mail 
         </label> 
         <input id="emailid" name="email" placeholder="" value="" type="text" /> 
        </fieldset> 
       </div> 
       <div data-role="fieldcontain"> 
        <fieldset data-role="controlgroup"> 
         <label for="textarea1"> 
          Message 
         </label> 
         <textarea id="commentid" name="comment" placeholder="" data-mini="true"></textarea> 
        </fieldset> 
       </div> 
       <h3 id="return"></h3> 
       <button data-theme="b" id="submitid" data-icon="arrow-r" data-iconpos="left" name="submit" type="submit">Submit</button> 

      </form> 

자바 스크립트는 다음과 같습니다

<script> 
function onSuccess(data, status) 
    { 
     data = $.trim(data); 
     $("#return").text(data); 
    } 

    function onError(data, status) 
    { 
     // handle an error 
     alert("Error Submitting Form"); 
    }  

    $(document).ready(function() { 
     $("#submitid").click(function(){ 

      var formData = $("#myForm").serialize(); 

      $.ajax({ 
       type: "POST", 
       url: "http://www.dowlingnetworks.com/app/contactscript.php", 
       cache: false, 
       data: formData, 
       success: onSuccess, 
       error: onError 
      }); 

      return false; 
     }); 
    }); 
</script> 

어떤 도움을 주시면 감사하겠습니다.

+0

화이트리스트에 www.dowlingnetworks.com이 있습니까? – codemonkey

답변

1

android에서 다음과 같이 서버에 데이터를 게시 할 수 없습니다. 당신은 웹 서버에서 jquery를 통해 도메인 간 요청을하고 있습니다. JSON 또는 JSONP 요청을 만들어 서버에 도달해야한다. Request to web server using phonegap jquery mobile 링크를 클릭하십시오.

header("Access-Control-Allow-Origin: *"); 
3

쉬운 방법은 당신의 PHP 페이지의 헤더에이 줄을 추가하는 것입니다. 그러나 실제 Android 휴대 전화를 테스트 장치로 사용하면 추가 구성없이 모든 것이 잘되었습니다. 건배!

최고 감사합니다, 이순신 잉

-1

내가 이전에 같은 문제가 : 크로스 도메인 호출을 할

0

당신은 당신의 [프로젝트 이름] /res/xml/config.xml이 설정하여 외부 소스 응용 프로그램에서 액세스 할 수있는 내용을 제어 할 수 있습니다

<access origin="http://[some-external-domain.com]" subdomains="true" /> 

하나 문서의 위치 :

https://build.phonegap.com/docs/config-xml 

참고 : 설정에 대해 이야기하는 특정 섹션을 찾으려면 아래쪽으로 스크롤하십시오.