私は小さなプロジェクトに取り組んでいます。私は完全なウェブ初心者であるため、ほとんどの場合、ある程度の理解を得るためです。次の質問で明らかな場合とそうでない場合があります。
私の最終結果は、データベースから一連の値をフェッチすることです。それらを JSON オブジェクトに入れ、jQuery/JavaScript を使用してデータを操作します。私はたくさんの読書をしてきましたが、ここにたくさんの投稿をしましたが、私の問題に関連するものを見つけることができません.
私はVS2010 C#で作業しています。クライアント側は IE7 に縛られていますが、Firefox でテストできます。私もlocalHost
現在取り組んでいます。
私のJavaScriptは次のとおりです。
function plotMarkers() {
var pathStart = new String(window.location);
var newPath = pathStart.replace("Default.aspx", "getMarkers.aspx");
alert(newPath);
$("#statusDiv").html('<a href="' + newPath + '">JSON Data</a>');
$.getJSON(newPath, function (data) {
alert("Loading JSON");
$.each(data, function (index, elem) {
var myLatlng = new google.maps.LatLng(elem.lat, elem.lng);
var marker = new gogle.maps.Marker({
position: myLatlng,
title: elem.title
});
marker.setMap(map);
});
}, function () { alert("loaded") });}
Firefox では Javascript エラーは発生しませんが、IE7 では発生します。はalert("Loading JSON")
どこにも発火しません。私はそれを見たことがない。
私の getMarkers.aspx コード
public partial class getMarkers : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
JavaScriptSerializer jsonSer = new JavaScriptSerializer();
List<marker> markerList = new List<marker>();
markerList.Add(new marker(-34.397, 150.644, "Test"));
markerList.Add(new marker(-50, 150.644, "Test2"));
string sJSON = jsonSer.Serialize(markerList);
Response.ContentType = "application/json";
Response.Write(sJSON);
}
}
「statusDiv」のリンクをクリックすると、aspx ページに移動します。IE7 ではエラーが発生しますが、Firefox では問題なく動作します。これらのページで解析された JSON は正しいです。応答をコピーして別の関数に貼り付けると、プロッターが 2 つのピンをマップに配置しました。
$.getJSON
コードは関数に入っていないようです。getMarkers.aspx
私のセットアップ方法にはIE7の問題(または一般的な問題)があります。いくつかのチュートリアルをグーグルで検索しましたが、これが私がたどり着いた場所です。私のアプローチは完全に間違っているかもしれません。または、私がするはずだった何かを逃しました。その特定のチュートリアルが見つからないようです.2日間の猛烈なGoogleの冒険の中で偶然閉じられたに違いありません.
FirefoxgetMarkers.aspx
は、JSON を最初の行として表示し、その後に html を表示します。ブラウザでプレーンテキストのみ。
IE7 は XML エラーを表示し、JSON 文字列がドキュメントのトップ レベルで許可されていないことを通知します。IE7 が常に精巧な回避策で XML を解析しようとしているという記事をいくつか読みました。何人のクライアントがそれを使用するかわからないため、これはできません。私がやっていることを行うためのより良い方法はありますか?
誰かが私が行く必要がある方向に私を向けることができれば、私はそれを大いに感謝します. うまくいけば、私の投稿はあまり複雑ではありません。