我正在尝试使用jquery创建一个ajax请求:
$.ajax({
url: "/src/ax_query_places",
dataType: "json",
data: {
query: value
},
success: function(response) {
alert("Success");
},
failure: function() {
alert('Could not get airports');
},
error: function() {
alert('Error');
}
});
我在服务器端编码json。 收到的json数据是:
{
"places": [
{
"name": "New\x20Orleans,\x20US\x20\x28New\x20Lakefront\x20\x2D\x20NEW\x29",
"code": "NEW"
},
{
"name": "New\x20Bedford,\x20US\x20\x28All\x20Airports\x20\x2D\x20EWB\x29",
"code": "EWB"
}
]
}
但我每次都收到错误。 如果语法错误,请建议。或者我应该如何解析编码的响应?
此外,如果我在服务器端删除json的编码,一切正常。
答案 0 :(得分:1)
可能你想要一个“地方”列表,而“地方”类将包含两个属性“名称”和“代码”。
在这种情况下,首先创建一个名为“places”的类,其中包含两个属性“name”和“code”(名称应匹配)
从客户端发送data: { query: JSON.stringify(value) }
在服务器端捕获字符串值作为参数。所以,你的方法减速将是 -
public YourReturnType YourMethodName(string query)
在其中,使用以下代码 -
var javaScriptSerializer = new JavaScriptSerializer();
var values = javaScriptSerializer.Deserialize<List<places>>(query);
您将在值中获得序列化的JSON。
希望这有帮助!