jQuery와 yahoo 맵 서비스로 간단한 위치 검색 호출을 작성하려고합니다. 즉 사용자가 검색 창에 위치 정보를 입력하면 jQuery는 야후의 XML을 반환하는 내 사이트의 페이지를 호출합니다.jQuery read xml error
Geocode.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
var url= "http://local.yahooapis.com/MapsService/V1/geocode?appid=SjCk7UjV34H0L9VoW5dFEXFGvsQuKX0xwIPNBX.rY8XxrWZbIYeSScFGuMrJyen_QwGKpLk-&location=" + Request.QueryString["location"];
var oBuilder = new StringBuilder();
var oStringWriter = new StringWriter(oBuilder);
var oXmlReader = new XmlTextReader(url);
var oXmlWriter = new XmlTextWriter(oStringWriter);
while (oXmlReader.Read())
{
oXmlWriter.WriteNode(oXmlReader, true);
}
oXmlReader.Close();
oXmlWriter.Close();
Response.Clear();
Response.Write(oBuilder.ToString());
Response.Flush();
Response.End();
}
Geocode.aspx :
function findAddress() {
var address = document.getElementById('ctl00_ContentPlaceHolder1_Location').value;
if (address.length > 3) {
$.ajax({
type: "GET",
url: "Geocode.aspx?location=" + address,
dataType: "xml",
success: function(xmlData) {
$(xmlData).find('Result').each(function() {
document.getElementById('ctl00_ContentPlaceHolder1_Lat').value = $(this)[0].selectSingleNode('Latitude').text;
document.getElementById('ctl00_ContentPlaceHolder1_Long').value = $(this)[0].selectSingleNode('Longitude').text;
document.getElementById("locationspan").innerHTML = $(this)[0].selectSingleNode('Address').text + '<br />' + $(this)[0].selectSingleNode('City').text + '<br />' + $(this)[0].selectSingleNode('State').text;
var mapList = document.getElementById("divAddressSelector");
mapList.className = 'mapAddressSelectorHide';
});
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest + '--' + textStatus + '--' + errorThrown);
}
});
}
}
이 코드를 실행 :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Geocode.aspx.cs" Inherits="Search_Geocode" %>
내 검색 페이지가이 페이지를 호출하는 다음과 같은 jQuery 코드를 사용 다음 텍스트가있는 텍스트 상자를 생성합니다. undefinedparsererror - undefined
내 지오 코드 페이지에서 XML 파일을 만들고 대신 jQuery의 URL을 가리켜 그 대신 모든 것이 제대로 작동합니다.
도움 주셔서 감사합니다.