Я скачал некоторый код и в нем был следующий фрагмент:
function GetCommentBySessionIDWCF_JSON() {
varType = "POST";
varUrl = "service/CommentSessionIDWCFService.svc/GetCommentsByPost";
varData = '{"SessionID": "' + '123' + '"}';
varContentType = "application/json; charset=utf-8";
varDataType = "json";
varProcessData = true;
//now to do the clever stuff
$.ajax({
type: varType, //GET or POST or PUT or DELETE verb
url: varUrl, // Location of the service
data: varData, //Data sent to server
contentType: varContentType, // content type sent to server
dataType: varDataType, //Expected data format from server
processdata: varProcessData, //True or False
success: function (data) {//On Successfull service call
$.each(data.GetCommentsByPostResult, function (e) {
alert(e.CommentText);
});
},
error: ServiceFailed// When Service call fails
});
Что мне интересно, почему я должен отправить JSON с этим постом? Я прочитал документацию jQuery и там написано:
"Данные для отправки на сервер. Они преобразуются в строку запроса, если это еще не строка. Она добавляется в URL для GET-запросов. См. Параметр processData, чтобы предотвратить автоматическую обработку. Объект должен быть парами ключ / значение. Если значение является массивом, jQuery сериализует несколько значений с одним и тем же ключом на основе значения традиционной настройки (описанной ниже). "
Но когда я изменил JSON в 'data' на строку, я получаю ошибку 400. почему?