Вызов webmethod не работает через JavaScript. Код ошибки 400 и 500

Я пытаюсь вызвать webmethod из объекта xmlhttp следующим образом

 var v2 = JSON.stringify({ province: 'Ontario' });
    xmlhttp.open("POST", "http://localhost:49771/rentalone/lp.aspx/getCities?" + v2, true);

Проблема в том, когда я использую "?" как это

  /getCities?" + v2

это дает мне код ошибки 500 "пропущенное значение для параметра"

но когда я использую "/"

   /getCities/" + v2

это дает мне код ошибки http 400. Запрос кровати

Как я могу вызвать webmethod с входными параметрами?

1 ответ

Может быть, изменить это так, чтобы v2='province=ontario';?

Хорошо... это не сработало, поэтому, возможно, попробуйте что-то вроде этого (изменено по ссылке в комментариях): var v2 = JSON.stringify({провинция: 'Онтарио' }); var http = new XMLHttpRequest();

http.open("POST", "http://localhost:49771/rentalone/lp.aspx/getCities", true);

//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/json");
http.setRequestHeader("Content-length", v2.length);

http.onreadystatechange = function() {//Call a function when the state changes.
   if(http.readyState == 4 && http.status == 200) {
      alert(http.responseText);
   }
}
http.send(v2);
Другие вопросы по тегам