2012-05-09 6 views
0

그래서 대부분의 getJSON 질문을 검색했지만 여전히 내 문제의 해결책을 찾을 수 없습니다. 내 주요 문제는이 : .aspx 페이지에 $ .getJSON 호출을 만드는 .js 파일이 있습니다. .aspx 페이지는 json 객체를 반환합니다. 나는 $ .getJSON을 demo.js로 테스트했으며 잘 작동합니다. json 필드를 참조 할 수 있습니다. .aspx 페이지의 경우는 그렇지 않습니다. 여기 내 코드는 다음 $해서 getJSON 호출

$.getJSON('updateSlides.aspx', function (json) { 
    alert("JSON Data: " + json.url); 
}); 

에서 .aspx 반환 JSON을

의 .js는 OBJ

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Dim jsonString As String 
    If Not Page.IsPostBack Then 
     Dim ws As New wallboardSettings 
     ' pull data values from db here, replace hardcoded values below 
     ws.duration = 5 
     ws.imagePath = "Images\slide1.jpg" 
     ws.url = "slide1.html" 
     Dim js As JavaScriptSerializer = New JavaScriptSerializer() 
     jsonString = js.Serialize(ws) 
     Response.Write(jsonString) 
    End If 
End Sub 

나는 VB에서 MSGBOX을 배치하고 내 로컬에서 그것을 실행 한 내 값을 볼 기계. jsonlint.com에서 올바르게 검증 된 json 형식의 ws 속성 설정을 반환합니다.

async : false를 사용하여 $ .ajax 호출을 사용해 보았지만 작동하지 않습니다. 내가 작동하는 demo.js를 사용할 때 json 필드가 파이어 버그에 있음을 알 수 있습니다. updateSlides.aspx에서는 그렇지 않습니다. 사전에

감사합니다, 브라이언

+0

aspx를 직접 호출 해 보았습니까? – Guidhouse

답변

0

그래서 json은 문제가 아니 었습니다. aspx 페이지 반환 json 잘 됐어. 방화 광구에 따르면 동일한 aspx 페이지는 자동 생성 된 추가 html을 반환합니다. 나는이 html 파일을 삭제했고 방화범은 json 데이터를 보여 주었다. 당신의 응답을 가져 주셔서 감사합니다!

0

응답에서 응용 프로그램/JSON에 콘텐츠 형식 헤더를 설정합니다.