我有以下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”
我有些困难要了解 contentType 和 dataType 之间的区别
我认为 contentType 指定了HTTP响应中可接受的数据类型,是不是?
和dataType?说啥?我在HTTP请求中发送的数据类型?
在这种情况下是“文本”,因为我发送的文本字符串是rappresent XML代码?
2 回答
用英语讲:
ContentType
:将数据发送到服务器时,请使用此内容类型 . 默认值为application/x-www-form-urlencoded; charset=UTF-8
,对大多数情况都适用 .Accepts
:请求标头中发送的内容类型告诉服务器它将接受哪种响应 . 取决于DataType
.DataType
:您期望从服务器返回的数据类型 . 如果没有指定,jQuery将尝试根据响应的MIME类型推断它 . 可以text, xml, html, script, json, jsonp
.来自documentation:
和:
它们基本上与你认为的相反 .