在jquery中处理来自ajax请求的编码json响应

时间:2014-08-01 06:07:05

标签: jquery ajax json

我正在尝试使用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的编码,一切正常。

1 个答案:

答案 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。

希望这有帮助!