Javascript jQuery ajax函数中contentType和dataType的区别

Javascript jQuery ajax函数中contentType和dataType的区别,javascript,ajax,jquery,Javascript,Ajax,Jquery,我有以下Jquery回调函数,对此我有点怀疑(我不太了解Jquery): $(“form.readXmlForm”).submit(函数(){ //提交所有元素的格式 变量形式=$(此); //波通石混凝土的混凝土强度变化 var按钮=form.children(“:first”); $.ajax({//Viene eseguita la chiamata ajax 类型:“POST”//Tipo di richiesta:POST //网址:verso quale viene Invita l

我有以下Jquery回调函数,对此我有点怀疑(我不太了解Jquery):

$(“form.readXmlForm”).submit(函数(){
//提交所有元素的格式
变量形式=$(此);
//波通石混凝土的混凝土强度变化
var按钮=form.children(“:first”);
$.ajax({//Viene eseguita la chiamata ajax
类型:“POST”//Tipo di richiesta:POST
//网址:verso quale viene Invita la richiesta
url:form.attr(“操作”),
//Dati XML inviati:
数据:“Baraple”,
//Tipo di媒体类型accettabile dalla响应:
contentType:“应用程序/xml”,
数据类型:“文本”,
成功:函数(文本){
MvcUtil.showSuccessResponse(文本、按钮);
}, 
错误:函数(xhr){
MvcUtil.responseText(xhr.responseText,按钮);
}
});
正如您所看到的,此函数只需执行一个对后端的AJAX请求,并为该请求设置参数

我已设置向URL发送请求,该请求是POST请求,并且我发送的数据为以下字符串:

“香蕉”

我很难理解contentTypedataType之间的区别

我认为contentType指定HTTP响应中接收的可接受数据类型,对吗

数据类型呢?怎么说?我在HTTP请求中发送的数据类型

在本例中是“text”,因为我正在发送一个文本字符串来表示XML代码?

来自:

contentType(默认值:“application/x-www-form-urlencoded;charset=UTF-8”)

类型:字符串

将数据发送到服务器时,请使用此内容类型。默认值为“application/x-www-form-urlencoded;charset=UTF-8”,这在大多数情况下都适用。如果将内容类型显式传递到$.ajax(),则它将始终发送到服务器(即使未发送数据)。如果未指定字符集,数据将使用服务器的默认字符集传输到服务器;您必须在服务器端对此进行适当解码

以及:

数据类型(默认值:智能猜测(xml、json、脚本或html))

类型:字符串

您期望从服务器返回的数据类型。如果未指定任何数据类型,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将生成XML,在1.4中JSON将生成JavaScript对象,在1.4中脚本将执行脚本,其他任何内容将作为字符串返回)

它们本质上与你想象的相反。

英文:

  • ContentType
    :向服务器发送数据时,请使用此内容类型。默认值为
    application/x-www-form-urlencoded;charset=UTF-8
    ,这在大多数情况下都适用
  • 接受
    :在请求头中发送的内容类型,它告诉服务器它将接受什么样的响应作为回报。取决于
    数据类型
  • DataType
    :您期望从服务器返回的数据类型。如果未指定任何类型,jQuery将尝试根据响应的MIME类型推断它。可以是
    文本、xml、html、脚本、json、jsonp

很好的可视化效果。谢谢。另外,
contentType
会影响标题,
dataType
jQuery和restapi使用的内容类型和数据类型用途是否不同?
$("form.readXmlForm").submit(function() {
    // Riferimento all'elemento form che ha scatenato il submit 
    var form = $(this);
    // Variabile che contiene il riferimento al bottone clickato 
    var button = form.children(":first");

    $.ajax({        // Viene eseguita la chiamata AJAX 
        type: "POST", // Tipo di richiesta: POST 
        // URL verso quale viene inviata la richiesta
        url: form.attr("action"),    
        // Dati XML inviati: 
        data: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><javaBean><foo>bar</foo><fruit>apple</fruit></javaBean>", 
        // Tipo di media type accettabile dalla response: 
        contentType: "application/xml", 
        dataType: "text", 

        success: function(text) { 
            MvcUtil.showSuccessResponse(text, button); 
        }, 

        error: function(xhr) { 
            MvcUtil.showErrorResponse(xhr.responseText, button); 
        }
    });