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