contentType- це тип даних, який ви надсилаєте, так application/json; charset=utf-8це загальний, як є application/x-www-form-urlencoded; charset=UTF-8, який є типовим.
dataTypeє те , що ви очікуєте від сервера: json, html, textі т.д. JQuery буде використовувати це , щоб з'ясувати , як заповнити параметр функція успіху в.
Якщо ви публікуєте щось на зразок:
{"name":"John Doe"}
і очікуючи назад:
{"success":true}
Тоді ви повинні мати:
var data = {"name":"John Doe"}
$.ajax({
dataType : "json",
contentType: "application/json; charset=utf-8",
data : JSON.stringify(data),
success : function(result) {
alert(result.success); // result is an object which is created from the returned JSON
},
});
Якщо ви очікуєте наступного:
<div>SUCCESS!!!</div>
Тоді вам слід зробити:
var data = {"name":"John Doe"}
$.ajax({
dataType : "html",
contentType: "application/json; charset=utf-8",
data : JSON.stringify(data),
success : function(result) {
jQuery("#someContainer").html(result); // result is the HTML text
},
});
Ще один - якщо ви хочете опублікувати:
name=John&age=34
Тоді не робіть stringifyданих, а виконайте:
var data = {"name":"John", "age": 34}
$.ajax({
dataType : "html",
contentType: "application/x-www-form-urlencoded; charset=UTF-8", // this is the default value, so it's optional
data : data,
success : function(result) {
jQuery("#someContainer").html(result); // result is the HTML text
},
});