1

以下のコードがdocument.readyにあります。Chromeのデバッガーを使用して何も起こらない理由を確認すると、何らかの理由でajax呼び出しがスキップされることがわかりますか?

var latitude = $('#LatitudeHidden').val();
                var longitude = $('#LongitudeHidden').val();
                var from = $('#<%:FromTextBox.ClientID %>').val();
                var to = $('#<%:ToTextBox.ClientID %>').val();
                var type = $('#<%:TypeEnhancedDropDownList.ClientID %>').val();
                var specialLocation = $('#<%:SpecialLocationsEnhancedDropDownList.ClientID %>').val();

                var json = {
                    'latitude': latitude,
                    'longitude': longitude,
                    'from': from,
                    'to': to,
                    'type': type, 
                    'specialLocation': specialLocation
                };

                $.ajax({
                    type: "POST",
                    url: "List.aspx/GetFilteredLocations",
                    data: json,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function(msg)
                    {
                        console.log(msg);
                    },
                    success: function(msg)
                    {
                        console.log(msg.d);
                    }
                });
4

1 に答える 1

2

jsonデータの逆シリアル化に問題があるようです...データ型がjsonに設定されていても、データを文字列化する必要がある場合があります。これを実現するためのjsライブラリがあります。これが役立つJSONjsライブラリです

これを試してください(JSONライブラリをページに含めた後)

 $.ajax({
     type: "POST",
     url: "List.aspx/GetFilteredLocations",
     data: JSON.stringify(json),
     error: function(msg)
     {
        console.log(msg);
     },
     success: function(msg)
     {
        console.log(msg.d);
     }
 });
于 2012-07-19T20:15:39.107 に答える