• 검색 결과가 없습니다.

04.HTML5 & JavaScript III

N/A
N/A
Protected

Academic year: 2021

Share "04.HTML5 & JavaScript III"

Copied!
12
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

신한대학교 컴퓨터정보계열 고덕윤 [email protected]

Client Server Programming 2

(2)

요청 처리하기.

01

• 웹에서 요청(request)를 보내보자. • 웹서비스에서 데이터를 가져와서 HTML5로 표현하자. • 자바 스크립트로 JSON을 주고 받아보자. [가능한 과제] • 트위터를 이용하여, 나만의 명언 집을 만들어보자.

(3)

요청/응답 복습

02

• 요청(Request) : 브라우저는 서버에게 특정 정보를 요청한다. • 요청 방식, 서버 주소 등이 포함된다. • 응답(Response) : 서버는 사용자가 요청한 데이터/서비스를 제공한다. • 컨텐츠 타입, 컨텐츠 데이터 등이 포함된다.

(4)

Request in JavaScript

1.

url 설정

2.

요청 객체 생성

3.

요청 실행

4.

응답 수신

5.

(필요 시) 서버로 응답 보내기

03

var url = "http://someserver.com/data.json";

var request = new XMLHttpRequest();

request.open("GET",url);

request.onload=function(){ if(request.status == 200){ alert(request.responseText); } } request.send(null);

(5)

실습 4

http://jsonplaceholder.typicode.com/users 으로 부터 결과를 받아서,

웹 브라우저에 띄어보시오.

• Explorer 에서 실행 해보세요.

(6)

JSON 사용하기

05

1. 먼저 객체를 생성한다. 2. 객체를 JSON으로 변경하는 방법 3. JSON을 객체로 변경하는 방법 new Movie("의정부","베테랑",["2시","3시","5시"]);

var jsonString = JSON.stringify(m);

alert(jsonString);

var mObj = JSON.parse(jsonString);

(7)

Json 배열 다루는 방법

06

function updateSales(responseText) {

var salesDiv = document.getElementById("sales");

var sales = JSON.parse(responseText);

for (var i = 0; i < sales.length; i++) {

var sale = sales[i];

var div = document.createElement("div"); div.setAttribute("class", "saleItem");

div.innerHTML = sale.name + " sold " + sale.sales + " gumballs"; salesDiv.appendChild(div);

} }

(8)

결정적 결함

07

서비스 도메인 데이터 도메인 서비스 요청 자료 요청 • 요청을 중계하는 경우 데이터 도메인의 자료 가 서비스를 해킹하는데 이용할 수 있다. • XMLHttpRequest 는 다른 도메인의 자료를 갖고 오는 것을 막는다. • Chrome 는 XMLHttpRequest의 호출을 막고 있다.

(9)

JSONP(JSon with Padding) 의 사용

• <script> 태그를 통해서 자료를 얻는 방법.

• 자동으로 파싱된 JSON 데이터가 넘어옴.

• 비동기 호출을 기본으로 채택함.

08

<script src="https://maps.googleapis.com/maps/api/js?key=KEY&callback=initMap"

(10)

코드 변경!

09

function readJson(){

var url = "http://gumball.wickedlysmart.com/";

var request = new XMLHttpRequest();

request.onload= function(){

if(request.status == 200){

updateSales(request.responseText); }

else{

alert("ERROR:"+request.status); }

}

request.open("GET",url); request.send(null);

}

<script src="http://gumball.wickedlysmart.com/?callback=updateSales"></script>

호출 이후 처리될 function

function updateSales(responseText) {

var salesDiv = document.getElementById("sales"); var sales = JSON.parse(responseText);

for (var i = 0; i < sales.length; i++) { var sale = sales[i];

var div = document.createElement("div");

div.innerHTML = sale.name + ":" + sale.sales; salesDiv.appendChild(div);

} }

(11)

실습 5

10

• 실습 1에서 얻은 JSON을 파싱하여 아래와 같이 구글맵에 마커를 추

가하시오.

(12)

힌트 코드

11

var myLatlng = new google.maps.LatLng(lati, long);

<script

src="http://jsonplaceholder.typicode.com/users?callback=updateMarker">< /script>

<script

src="https://maps.googleapis.com/maps/api/js?key=KEY&callback=showMap"

참조

관련 문서

또한 JEUSMain.xml의 &lt;application&gt; 설정을 통해서 각 컨테이너에 대한 Auto Deploy 디렉터리 설정을 할 수 있다.. AutoDeploy

실험값을 얻는 과정에서 그 값을 얻지 못하는 경우 빈칸으로 된 부분을 말한다 (SPSS 에서는 빈칸으로 비워두면 자동으로 결측값으로 인정한다).. SPSS에서는 숫자는 오른쪽

③학습자의 언어 사용 대한 표준적인 단계를 확인하고 글 쓴이 자신의 직관으로 자료를 바로 쓴 뒤 나중에 어휘 목록을 가지고 확인하면서 약간의

정보 중복의 해소(avoid repetition of information) -&gt; 분해하면 자동으로 해결2.

사이보그에서 심보그로, &lt;스파이더 맨&gt; 시리즈가 보여주는 사이보그 진화론(계속).. 하나는 유기적 신체에 무기적 기계를 결합시키는 방법, 다른 하나는

즉, &lt;FRAME&gt; 태그의 name 속성을 이용하여 프레임의 이름을 지정하고, &lt;A&gt; 태그의 target 속성에 그 이름을 지정하면 지정된

&lt;충무공 이순신 리더십 함양과정&gt; 운영 사후협의회 연산중학교. &lt;미래를 준비하는

• 방정식의 해를 실제로 구하지 않으면서 해에 대한 정석적인 정보를 얻는 방법. • 연립방정식의 해를 해석적으로 구하기