Не удается получить ajax-вызов с параметрами, чтобы поразить мою функцию C # - PullRequest
0 голосов
/ 03 мая 2018

Ajax:

var test = "test";

$.ajax(
{
  type: "POST",
  url: "project/function",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  data: { input: test },
  success: function (response) {
    $("#lblMsg").text(response.d);
  },
  failure: function (response) {
    alert(response.d);
  }
});

C # функция:

[WebMethod]
public void function(string input)
{
}

Соединение установлено успешно, когда я не включил параметр. Я пробовал разные перестановки одинарных и двойных кавычек в части «data» вызова ajax, но безрезультатно.

Я также попытался установить для dataType значение "text" с похожими результатами.

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

попробуйте этот может решить вашу проблему

var test = "test";

$(document).ready(function () {
   $.ajax({
          type: "POST",
          url: "project/function",
          contentType: "application/json; charset=utf-8",
          datatype: "json",
          data:JSON.stringify({ 'input': test }),
          success: function (response) {
         $("#lblMsg").text(response.d);
  },
  failure: function (response) {
    alert(response.d);
  }
  });
});
0 голосов
/ 03 мая 2018

Я бы посоветовал вам не отправлять ваши данные в формате JSON. Просто удалите

contentType: "application/json; charset=utf-8"

и jQuery будет сериализовать данные в обычный формат данных в кодированной форме URL, чего и ожидает WebMethod.

...