jQuery ajax函数中contentType和dataType之间的区别

我有以下的jquery回调函数,我对它有疑问(我不太清楚Jquery):

$("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); 
        }
    });

正如你可以看到这个函数只是向后端执行一个AJAX请求来设置这个请求的参数。

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

“barapple”

理解contentTypedataType之间的区别有一些困难

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

和dataType? 说啥? 我在HTTP请求中发送的数据类型?

在这种情况下是“文本”,因为我正在发送一个文本字符串来提交XML代码?


从文档:

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

类型:字符串

将数据发送到服务器时,请使用此内容类型。 默认是“application / x-www-form-urlencoded; charset = UTF-8”,这对大多数情况来说都很好。 如果明确地将内容类型传递给$ .ajax(),那么它将始终发送到服务器(即使没有发送数据)。 如果未指定字符集,则会使用服务器的默认字符集将数据传输到服务器; 你必须在服务器端正确解码。

和:

dataType(默认值:智能猜测(xml,json,script或html))

类型:字符串

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

他们基本上与你以为他们是相反的。


在这里输入图像描述

用英语:

  • ContentType :将数据发送到服务器时,请使用此内容类型。 默认是application/x-www-form-urlencoded; charset=UTF-8 application/x-www-form-urlencoded; charset=UTF-8 ,这在大多数情况下都很好。
  • Accepts :请求头中发送的内容类型,它告诉服务器它将接受什么样的响应作为回报。 取决于DataType
  • DataType :您期望从服务器返回的数据类型。 如果没有指定,jQuery将尝试根据响应的MIME类型推断它。 可以是text, xml, html, script, json, jsonp
  • 链接地址: http://www.djcxy.com/p/8055.html

    上一篇: Differences between contentType and dataType in jQuery ajax function

    下一篇: Add Header in AJAX Request with jQuery