什么是内容类型和数据jQuery ajax Post中的类型和数据?

时间:2012-05-25 10:29:35

标签: c# json

我刚刚开始使用Json学习Json并将数据绑定到Gridview,但我无法理解contentType和dataType和数据是什么?

我使用了以下代码............

<script type="text/javascript">
$(document).ready(function () {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "Gridview.aspx/BindDatatable",
        data: "{}",
        dataType: "json",
        success: function (data) {
            for (var i = 0; i < data.d.length; i++) {
                $("#gvDetails").append("<tr><td>" + data.d[i].OfficeName + "</td><td>" + data.d[i].City + "</td><td>" + data.d[i].Country + "</td></tr>");
            }
        },
        error: function (result) {
            alert("Error");
        }
    });
});
</script>

2 个答案:

答案 0 :(得分:14)

contentType指的是指定为服务器设置的内容类型的mime内容类型。这可以识别FORM-Encoded,XML,JSON和许多其他内容类型。它有助于服务器确定如何处理内容。

dataType帮助JQuery处理数据。如果指定json,那么返回的数据将被计算为json,传递给成功处理程序的数据将是一个对象而不是一个字符串

data属性用于传递给服务器的数据。如果传入Object文字。 JQuery将它作为请求体的一部分传递(如果type为post)或作为查询字符串的一部分(如果type为get)

答案 1 :(得分:3)

如果我们将数据类型指定为Json,那么返回的数据将被计算为Json,传递给成功处理程序的数据将是一个对象而不是字符串,让我们看看示例

  $.ajax({
        type: "POST",
        url: "ProductWebService.asmx/GetProductDetails",

    data: "{'productId':'" + productId + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        var Product = response.d;
        $("#spnProductId").html(Product.Id);strong text
        $("#spnProductName").html(Product.Name);
        $("#spnPrice").html(Product.Price);
        $("#outputTable").show();
    },
    failure: function (msg) {
        alert(msg);
    }
});