jQuery代码没有运行

时间:2012-07-19 19:58:07

标签: ajax jquery

我在文档中已经有了下面的代码。当我使用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);
                    }
                });

1 个答案:

答案 0 :(得分:2)

似乎无法反序列化json数据...... 您可能需要对数据进行字符串化,即使您确实将数据类型设置为json。 有一个js库来实现这一目标。 Here is JSON js library to help

尝试此操作(在将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);
     }
 });