티스토리 뷰
결과 포맷이 XML만 지원되길래
jQuery $(xml).find('item').each(); 으로 파싱하여 해보려 했으나
Cross 뭐시기 문제, 응답페이지(recmd.asp)의 첫번째 줄 오류 등이 발생하길래
XML을 JSON으로 변환하고 반환되도록 하여 처리함.
네이버측의 XML 반환을 JSON 형식으로 변환하는데
http://www.thomasfrank.se/xml_to_json.html
의 온라인 도구를 사용하여 형식 잡음
recmd.htm
<script language="javascript" type="text/javascript">
//<![CDATA
var url = 'recmd.asp';
var q = encodeURIComponent("yg");
$(function(){
$.getJSON(url, { query:q }, function(json){
if(!json) { $('#result').text('응답없음'); return false; }
var str = "";
var cnt = json.result.item.length;
for(var i=0; i<cnt; i++) {
str += "<li>"+ json.result.item[i] +"</li>
";
}
$('#result').html(str);
});
});
//]]>
</script>
<ul id="result">
</ul>
* 네이버측 인코딩 utf-8
recmd.asp
아래에서 {API KEY} 부분은 부여받은 API KEY로 대체할것!
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% '// 네이버 추천검색어 API
Session.CodePage = "65001"
Response.CharSet = "UTF-8"
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.AddHeader "Expires","0"
Response.CacheControl = "no-cache"
Response.ContentType = "application/json"
Dim query : query = Request.Querystring("query")
If query = "" Then Response.write(""): Response.End
Dim key : key = "{API KEY}"
Dim target : target = "recmd"
Dim getUrl : getUrl = "http://openapi.naver.com/search"
getUrl = getUrl &"?key="& key &"&target="& target &"&query="& query
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "get", getUrl, False
objHTTP.Send
xmlData = objHTTP.responseText
if xmlData="" then Response.write("Naver url is not available"): Response.End
Set objHTTP = Nothing
Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = "False"
xmlDoc.loadXML(xmlData)
Set colNodes = xmlDoc.selectNodes("/result/item")
if colNodes.length = 0 then Response.write("The item does not exists."): Response.End
Set xmlDoc = Nothing
json = ""
For Each objNode in colNodes
json = json &""""& objNode.text &""","
Next
If Len(json) = 0 Then Response.write("XML parsing is not available"): Response.End
json = Left(json, Len(json)-1)
Set colNodes = Nothing
Response.Write("{""result"":{""item"":["& json &"]}}")
%>
'웹프로그래밍 > ASP Classic' 카테고리의 다른 글
| 문장에서 따옴표를 특수문자 따옴표로 변경해주기 (0) | 2010.11.22 |
|---|---|
| Classic ASP Dynamic Include (동적 인클루드) (1) | 2010.11.21 |
| ASP에서 Javascript 함수 쓰기 (0) | 2010.08.18 |
| 미니위니 에디터 For ASP EX2 (0) | 2010.08.09 |
| [Classic ASP] 미투데이 인증 처리 (0) | 2010.07.27 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- JSON
- sencha touch
- Docker
- Android
- 워드프레스
- 한글
- 안드로이드
- javascript
- Mac
- IOS
- iis
- PHP
- laravel
- CSS
- nginx
- IE
- classic asp
- mssql
- API
- Prototype
- iphone
- Wordpress
- Debug
- macos
- git
- centos
- JQuery
- nodejs
- ASP
- Linux
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함