2016-09-20 2 views
-3

enter image description here Ajax 함수가 데이터를 업데이트하지 않습니다. 부트 스트랩의 대화 상자에 데이터가로드되고 changes.i로 데이터를 업데이트해야합니다. 값을 대화 상자에서 가져 오지만 데이터베이스에 게시하지 않는 브라우저에서 확인하십시오. 해결 방법 ... 미리 감사드립니다.Ajax 함수가 작동하지 않습니다.

클라이언트 측 :

$("#UpdateTbl").click(function() { 
    var id = $(this).attr("edit-id"); 
    var user = {}; 
    debugger; 
    user.DayDesc = $("#DaybookDesc1").val(); 
    user.VoucherNo = $("#Prifix1").val(); 
    user.VoucherNo1 = $("#Surffix1").val(); 


    $.ajax({ 
     type: "Post", 
     contentType: "application/json; charset=utf-8", 
     url: "DaybookMast.aspx/UpdateData", 
     data:JSON.stringify('{objEmployee: ' + JSON.stringify(user) + ', eid : ' + id + '}'), 
     dataType: "json", 
     success: function (data) { 
      if (confirm("Are you want to change !") == true) { 
       alert("Updated successfully"); 
      } else { 
       alert("canceled changes"); 
      } 

     }, 
     error: function (data) { 
      alert("Error while Updating data of :" + id); 
     } 
    }); 
}); 

서버 측 :

[WebMethod] 
public static void UpdateData(DayBooks objEmployee, string eid) //Update data in database  
{ 
    using (var con = new SqlConnection(strConnection)) 
    { 
     var query = "update DayBooks set DayDesc='" + objEmployee.DayDesc + "',VoucherNo='" + objEmployee.VoucherNo + 
        "',VoucherNo1='" + objEmployee.VoucherNo1 + "'where DayCode='" + eid + "'"; 
     con.Open(); 
     var cmd = new SqlCommand(query, con); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
    } 
} 
+0

objEmployee가 객체 화되었거나 여전히 문자열입니까? – mplungjan

답변

1

나는 당신이 당신의 JSON stringifying없이 데이터를 게시해야한다고 생각 :

$("#UpdateTbl").click(function() { 
    var id = $(this).attr("edit-id"); 
    var user = {}; 
    debugger; 
    user.DayDesc = $("#DaybookDesc1").val(); 
    user.VoucherNo = $("#Prifix1").val(); 
    user.VoucherNo1 = $("#Surffix1").val(); 


    $.ajax({ 
     type: "Post", 
     contentType: "application/json; charset=utf-8", 
     url: "DaybookMast.aspx/UpdateData", 
     data: {"objEmployee": user, "eid": id}, 
     dataType: "json", 
     success: function (data) { 
      if (confirm("Are you want to change !") == true) { 
       alert("Updated successfully"); 
      } else { 
       alert("canceled changes"); 
      } 
     }, 
     error: function (data) { 
      alert("Error while Updating data of :" + id); 
     } 
    }); 
}); 

참고 : DB 문에 SQL 삽입을하지 마십시오 ... 가능한 보안 위반을 피하기 위해 매개 변수를 대신 사용하십시오. 자세한 정보 @https://stackoverflow.com/a/6548006/2805121

+0

작동하지 않습니다 ...... –

+1

정확히 작동하지 않는 것은 무엇입니까? 네트워킹 탭에 아무것도 보이지 않습니까? 서버 코드가 실제로 호출 되었습니까? 요청 헤더에 무엇이 있습니까? – Nsevens

+0

네트워킹 탭이없고 콘솔에서 : - 리소스를로드하지 못했습니다 : 응답이있는 경우 서버가 500 (내부 서버 오류) –

1

무엇보다 오류 메시지가 있습니까?

Ajax & C# 업데이트 기능 간의 통신을 테스트하기 전에 연결 기능이 제대로 작동하는지 테스트해야합니다.

public static void UpdateData(DayBooks objEmployee, string eid) //Update data in database  
{ 
    using (var con = new SqlConnection(strConnection)) 
    { 
     var query = "UPDATE DayBooks set DayDesc=12345,VoucherNo=54321,VoucherNo1=1 where DayCode=12"; 
     con.Open(); 
     var cmd = new SqlCommand(query, con); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
    } 
} 

그리고 업데이트 테이블이 성공하면 테이블이 업데이트되었는지 확인하십시오. Ajax 데이터 요청을 디버그해야한다. @Nsevens 코드

감사 : 디버깅

$("#UpdateTbl").click(function() { 
    var id = $(this).attr("edit-id");  <- what's value of id 
    var user = {}; 
    debugger; 
    user.DayDesc = $("#DaybookDesc1").val(); <- what's value of user.DayDesc 
    user.VoucherNo = $("#Prifix1").val(); <- what's value of user.VoucherNo 
    user.VoucherNo1 = $("#Surffix1").val(); <- what's value of user.VoucherNo1 


    $.ajax({ 
     type: "Post", 
     contentType: "application/json; charset=utf-8", 
     url: "DaybookMast.aspx/UpdateData", 
     data: {"objEmployee": user, "eid": id}, <- what's value of data 
     dataType: "json", 
     success: function (data) { 
      if (confirm("Are you want to change !") == true) { 
       alert("Updated successfully"); 
      } else { 
       alert("canceled changes"); 
      } 
     }, 
     error: function (data) { 
      alert("Error while Updating data of :" + id); 
     } 
    }); 
}); 

사용 CONSOLE.LOG :

CONSOLE.LOG ("userArray"사용자 +);

그런 문제가 생길 때 어떤 데이터를 보내야하는지 확인하는 것이 중요합니다.

관련 문제