2012-11-26 2 views
-6

자바와 자바 스크립트가 새로 생겼습니다. HTTP 응답을 받아 들일 방법을 찾고있었습니다. 메서드를 사용하여 .responseText 메서드를 사용하여 필요한 속성을 가져 와서이 값을 테이블 행의 셀에 표시합니다. HTML 페이지에서 만들었습니다. httpresponse을 얻을 때마다이 셀을 대체 할 수있는 방법이 있습니까?http 응답을 문자열로 구문 분석하는 방법은 무엇입니까?

고마워요.

var xHRObject = new XMLHttpRequest(); 
var url = "http://meteovarkiza.gr/"; 
xHRObject.open("GET", url, true); 
xHRObject.send(); 
xHRObject.onreadystatechange = function() { 
if (xHRObject.readyState==4 && xHRObject.status==200) { 
    var response = xHRObject.responseText; 
    var startIndex = response.indexOf("Temperature"); 
    startIndex += 70; 
    var subResponse = response.slice(startIndex, startIndex + 4);     
      alert(subResponse); 
    } 
} 
+7

* "방법이 있습니까?"- 예 – Joseph

+4

Java와 어떤 관련이 있습니까? –

+5

[무엇을 시도해 봤습니까?] (http://whathaveyoutried.com) – tjameson

답변

0

는 "I 값이 필요하지만 그 후, I는 HTML 테이블에 표시 할 수없는 오브젝트를 만드는 시도했다."

귀하의 질문은 매우 명확하지 않습니다,하지만 당신은 당신이 성공적으로 응답 텍스트에서 그리고 subResponse 변수에 필요한 특정 값을 받고 있음을 말하는 것 같다,하지만 당신은 방법을 모르는 그 값을 페이지의 특정 요소에 넣으십시오.

는 그렇다면, 가장 간단한 방법은 해당 요소를 제공하는 것입니다 id :

<td id="resultCell"></td> 

다음 JS에서이 작업을 수행 : 당신 말했다 질문 제목에서

document.getElementById("resultCell").innerHTML = subResponse; 

:

"http 응답을 문자열로 구문 분석하는 방법은 무엇입니까?"

...하지만 당신은 그것을 알아 낸 것 같습니다. 응답 형식을 제어 할 수 없다면 정규 표현식 트릭 및/또는 .indexOf().slice() (또는 .substr()은 항상 4자를 지정하므로 더 좋을 수도 있음)의 조합을 추측 할 수 있습니다.

응답의 형식을 설정할 수 있다면 JSON 문자열을 반환하는 것이 훨씬 나을 것입니다. 바로 JSON.parse()을 사용하여 직접 액세스 할 수있는 속성을 가진 객체를 얻을 수 있기 때문입니다. 더 이상 문자열 조작을 고민하지 않아도됩니다.

+0

고맙습니다. nnnnnn. 예, 이것은 내가 의미했던 바로 그 것이었다. !!! 한 걸음 더 나아가 : 2 분 간격으로 요청을 주기적으로 실행하려면 어떻게해야합니까? – user1852114

+0

코드를 함수에 넣으십시오. 예를 들어'function refreshTemperature()'라고 말하면,'setInterval (refreshTemperature, 120000)'이라고 말하면 120000 밀리 초마다 자동으로 함수를 호출 할 수 있습니다. 또는 함수가 끝날 때마다'setTimeout (refreshTemperature, 120000)'을 사용하여 실행될 때마다 또 다른 호출을 자체적으로 스케쥴하도록하십시오. 'setInterval()'호출에서'refreshTemperature'는 그 뒤에'()'를 가지고 있지 않습니다. MDN에는 [setInterval()']에 대한 정보가 더 있습니다 (https://developer.mozilla.org/en-US/docs/DOM/window.setInterval)과'setTimeout()'을 호출한다. – nnnnnn

+0

좋아요! 고마워요! – user1852114

관련 문제