Когда мы передаем параметры со строкой JSON, мы должны добавить escape-строки перед кавычками.
var compsiteType={
"StringValue":"Hello",
"BoolValue":true
};
$(function(){
$.ajax({
method:"POST",
url: "http://10.157.13.69:8864/Service1.svc/GetDataUsingDataContract",
dataType:"json",
data:'{\"StringValue\":\"Hello\",\"BoolValue\":true}',
contentType: "application/json",
complete: function(data){
$("#main").html(data.responseText);
}
})
})
Поэтому преобразование объекта JSON в строку JSON необходимо, прежде чем вызов.
var compsiteType={
"StringValue":"Hello",
"BoolValue":true
};
dataType:"json",
data:JSON.stringify(compsiteType),
Кроме того, ошибка 400 Bad Request обычно указывает, что что-то не так с форматом параметра запроса.
В зависимости от нижеприведенного атрибута, метод обслуживания будет принимать различные типы форматы параметров.
[WebInvoke(BodyStyle =WebMessageBodyStyle.Bare,RequestFormat =WebMessageFormat.Json)]
string GetDataUsingDataContract(CompositeType composite);
Пожалуйста, обратитесь к ссылкам, на которые я когда-либо отвечал.
Получите нулевой объект, используя JSON в службе WCF
Не стесняйтесь сообщить мне, если проблема все еще существует.