2014-10-20 2 views
0

Phonegap 안드로이드 앱 개발에 초보자입니다. 원격 MS SQL Server 데이터베이스와 내 응용 프로그램을 연결하려고하는데 ASP.Net 웹 서비스도이 둘을 연결하기 위해 작성했습니다. 그러나이 웹 서비스를 JQuery ajax() 메서드를 통해 호출하면 "내부 서버 오류"가 반환됩니다.Phonegap Ajax 호출은 내부 서버 오류를 반환합니다.

코드 :

<html> 
<head> 
    <title>PhoneGap Example</title> 
    <script type="text/javascript" charset="utf-8" src="js/cordova.js"></script> 
    <link rel="stylesheet" href="css/jquery.mobile.css" /> 
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript" src="js/jquery.mobile.js"></script> 
    <script type="text/javascript" > 
     function button_clicked(){ 
      var name = $.trim($("#txtName").val()); 
      var contact = $.trim($("#txtContactNumber").val()); 
      var type = $.trim($("#txtType").val()); 

      if(name.length > 0) 
      { 
       $.ajax({ 
        type: "POST", 
        url: "http://my-domain.com/DocNote_WebService/DoctorMaster.asmx/insertDoctor", 
        data: "{doctorName: "+ name + ",contactNumber: "+ contact + ",doctorType: " + type +"}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success : function(data) {    
         alert('Record Saved Sucessfully.....!!!!'); 
        }, 
        error: function(xhr, ajaxOptions, thrownError) { 
         alert('ERROR: '+thrownError); 
        } 
       }); 
      } 
     } 
    </script> 
</head> 
<body> 
    <section id="page1"> 
     <header><h1>DocNote</h1></header> 
     <div class="content" data-role="content"> 
      <h3>Enter Doctor Info</h3> 

       <div data-role="fieldcontain"> 
        <input type="text" data-clear-btn="true" name="txtName" id="txtName" placeholder="Enter Name"/> 
        <br/> 
        <input type="text" data-clear-btn="true" name="txtContactNumber" id="txtContactNumber" placeholder="Contact Number"/> 
        <br/> 
        <input type="text" data-clear-btn="true" name="txtType" id="txtType" placeholder="Type"/> 
        <br/> 
        <button id="btnSubmit" class="ui-btn ui-btn-inline ui-corner-all" onclick="button_clicked()">Submit</button> 
        <button id="btnCancel" class="ui-btn ui-btn-inline ui-corner-all">Cancel</button> 
       </div> 

     </div> 
    </section> 
</body> 
</html> 

내 웹 서비스 방법 :

[WebMethod] 
    public void insertDoctor(String doctorName, String contactNumber, int doctorType) { 
     using (SqlConnection connection = ConnectionFactory.getConnection()) 
     { 
      SqlCommand sqlCommand = new SqlCommand("Insert into DOCTOR_MASTER (DOCTOR_NAME, DOCTOR_CONTACT_NUMBER,DOCTOR_TYPE) values (@name,@contact,@type)",connection); 
      sqlCommand.Parameters.AddWithValue("@name", doctorName); 
      sqlCommand.Parameters.AddWithValue("@contact",contactNumber); 
      sqlCommand.Parameters.AddWithValue("@type", doctorType); 

      sqlCommand.ExecuteNonQuery(); 
     } 
    } 

내가 사전에 잘못 ..... 감사를하고있는 중이 야 무엇을 말해 ...... ...

+1

서버의 코드를 디버깅하여 오류의 원인을 확인 했습니까? 그것 없이는, "내부 서버 오류"전혀 도움이되지 않습니다. – Archer

+0

서버 측에서 request.form [ "keyword"]로 게시 된 데이터를 가져 와서 다음과 같이 데이터를 게시하십시오. 데이터 : {이름 : 이름, 연락처 : 연락처, 유형 : 유형} – Emre

+0

@Archer : [Testing Tool] (https://wizdl.codeplex.com/)을 사용하는 서비스. 정상적으로 작동합니다. –

답변

0

마지막으로 Solution Here을 찾았습니다.

data: "{ firstName: 'Aidy', lastName: 'F' }" 

그런 다음 코드를 수정하여 작동했습니다.

$.ajax({ 
     type: "POST", 
     url: "http://my-domain.com/DocNote_WebService/DoctorMaster.asmx/insertDoctor", 
     data: "{doctorName:'" + doctorName + "', contactNumber:'" + contactNumber + "', doctorType:'" + doctorType + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success : function(response) {    
      alert('Record Saved Sucessfully.....!!!!');      
     }, 
     error: function(xhr, ajaxOptions, thrownError) { 
      alert('ERROR: '+thrownError); 
     } 
}); 
0

데이터를 문자열이 아닌 객체로 전달하십시오.

$.ajax({ 
    type: "POST", 
    url: "http://my-domain.com/DocNote_WebService/DoctorMaster.asmx/insertDoctor", 
    data: { 
     "doctorName": name, 
     "contactNumber": contact, 
     "doctorType": type 
    }, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success : function(data) {    
     alert('Record Saved Sucessfully.....!!!!'); 
    }, 
    error: function(xhr, ajaxOptions, thrownError) { 
     alert('ERROR: '+thrownError); 
    } 
}); 
관련 문제