2013-12-20 2 views
0

기본적으로 데이터베이스에서 데이터를 가져 와서 사용자가 데이터를 볼 필요없이 자바 스크립트 배열로 피드하는 가장 간단한 방법은 무엇입니까?asp.net을 사용하여 데이터베이스에서 데이터를 검색 한 다음 그 데이터를 자바 스크립트 배열에 어떻게 공급할 수 있습니까?

저는 교수형 게임 웹 응용 프로그램을 대학 프로젝트로 만들고 있는데, 기본적으로 데이터베이스에서 게임의 단어 목록을 가져야합니다. 또한 연결 방법과 데이터베이스 데이터를 데이터 소스에 넣는 방법 또는 판독기를 사용하여 수동으로 데이터를 읽는 방법을 알고 있습니다.

내가 알고 싶은 것은 데이터를 (전체 데이터베이스가 아니라, 내가 읽은 데이터 만) 자바 스크립트로 보내는 방법입니다. 예를 들어 데이터베이스에 1000 개의 값이 있고 ASP.NET PageLoad 이벤트의 데이터베이스에서 15 개의 다른 값을 추출했다고 가정 해 봅시다. 사용자가 볼 수 있도록 설정하지 않고이 15 개의 값을 JS로 가져 오려면 어떻게해야합니까? 페이지 소스를 확인하여 이러한 가치?

+0

이것은 꽤 광범위하게 보입니다. 특정 문제에 봉착했을 때 무언가를 시도하고 돌아 오지 않는 이유는 무엇입니까? –

답변

2

질문에 따르면 ASP.NET 웹 양식을 사용하는 것처럼 들릴 수 있습니다. 이 경우 AJAX 호출을 사용하여 15 개의 값을 검색하는 것이 좋습니다. JS를 Page_Load에 동 기적으로 빌드하면 소스를보고 무슨 일이 벌어지고 있는지 쉽게 볼 수 있습니다. 즉, 누구나 네트워크 캡처를 켜고 AJAX 응답에서 다시 행맨 값을 확인할 수 있습니다.

아마도 page method을 사용해보십시오. 코드에서 정적 웹 메서드를 만들 것입니다. 다음은 C# 및 jQuery에서 의사 코드가 어떻게 생겼는지입니다. 뒤에 코드에서 서버에서

는 클라이언트 측에

[WebMethod] 
[ScriptMethod] 
public static string[] GetHangmanValues() 
{ 
    string[] values = new string[15]; 
    //retrieve your hangman values from the db and return them 
    return values; 
} 

(이 hangman.aspx.cs라고) :

var HANGMAN_APP = {}; 
$(function() { 
    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     contentType: "application/json", 
     url: "hangman.aspx/GetHangmanValues", 
     data: "{}", 
     success: function (data) { 
      //Microsoft page methods wrap the data in data.d 
      //use data.d to populate HANGMAN_APP 
     }, 
     error: function() { 
      alert("Error calling the page method."); 
     } 
    }); 
}); 

의 값을 유지합니다 그것을하는이 방법 페이지 소스에 표시되지만, 단지 반복하고 싶습니다. 네트워크 트래픽 및/또는 자바 스크립트 디버거가 누군가를보고 정말로 싶다면 값을 보호하지 못합니다. 또한 페이지 메서드가 전체 페이지 라이프 사이클을 거치지 않고 ViewState (UpdatePanels처럼)를 다루지 않아서 이런 종류의 일에 매우 효율적이라는 이점이 있습니다.

+0

이 효과가 있습니다. 감사! 데이터를 추출하여 배열에 성공적으로 넣을 수있었습니다. 나는 jQuery 나 AJAX에 익숙하지 않았기 때문에 무슨 일이 일어나는지 잠시 생각했다. 도와 주셔서 감사합니다 – MrPlow

관련 문제