所以我搜索了大多数getJSON问题,仍然无法找到问题的解决方案。我的主要问题是:我有一个.js文件,它对.aspx页面进行$ .getJSON调用。 .aspx页面返回一个json对象。我用demo.js测试了$ .getJSON,它运行得很好;我能够引用json字段。 .aspx页面不是这种情况。这是我的代码:
.js进行$ getJSON调用
$.getJSON('updateSlides.aspx', function (json) {
alert("JSON Data: " + json.url);
});
.aspx返回json 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,然后从我的本地计算机上运行它以查看我的值。它以json形式返回ws属性设置,该设置在jsonlint.com上正确验证。
我也尝试过使用async的$ .ajax调用:false但是它不起作用。当我使用demo.js时,我看到了firebug中的json字段; updateSlides.aspx不是这种情况。
提前致谢, 布赖恩
答案 0 :(得分:0)
从回复中将内容类型标题设置为application / json。
答案 1 :(得分:0)
事实证明,json不是问题所在。 aspx页面返回json就好了。根据firebug,相同的aspx页面也返回了自动生成的附加html。我删除了这个html,firebug显示了json数据。谢谢你的回应!