そのため、ほとんどの getJSON の質問を検索しましたが、まだ問題の解決策を見つけることができません。私の主な問題は次のとおりです。.aspx ページに対して $.getJSON 呼び出しを行う .js ファイルがあります。.aspx ページは json オブジェクトを返します。$.getJSON を demo.js でテストしましたが、問題なく動作します。json フィールドを参照できます。これは、.aspx ページには当てはまりません。これが私のコードです:
$getJSON 呼び出しを行う .js
$.getJSON('updateSlides.aspx', function (json) {
alert("JSON Data: " + json.url);
});
json obj を返す .aspx
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 を使用すると、firebug に json フィールドが表示されます。これは updateSlides.aspx には当てはまりません。
前もって感謝します、ブライアン