#c# #web-services #post
#c# #веб-сервисы #Публикация
Вопрос:
Мне нужно отправить данные в свой серверный сервер через веб-сервис.
Мой веб-метод ;
[WebMethod]
public string InsertData(string dData)
{
Log.Info(deviceData);
....
string status= serv.InsertData(dData);
return status;
}
От fiddler если я вызываю с помощью POST verb , это дает
Недопустимый формат запроса
Мое требование
Пожалуйста, дайте мне знать, как это должно быть вызвано через POST.
GET работает нормально.
Ответ №1:
Попробуйте:
[WebMethod(EnableSession = true)]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public static string Example(string id)
{
return "it worked";
}
Из MSDN:
true, если метод вызывается с помощью команды HTTP GET; false, если метод вызывается с помощью команды HTTP POST. Значение по умолчанию равно false.
Значение по умолчанию равно false, так что вы уже должны использовать POST.
О его вызове попробуйте из jquery:
<script>
$.ajax({
type: "POST",
url: "WebForm1.aspx/Example",
data: JSON.stringify({
'theIdToPass'
}),
contentType: "application/json; charset=utf-8",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " XMLHttpRequest.toString() "nnStatus: " textStatus "nnError: " errorThrown);
},
complete: function (jqXHR, status) {
alert("complete: " status "nnResponse: " jqXHR.responseText);
}
});
</script>