как это исправить мой следующий код не работает - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь опубликовать данные и пытаюсь вернуться с контроллера обратно и показать его в окне предупреждения, но не знаю, почему это не работает

вот код контроллера

 [HttpPost]
        public ActionResult getRequirmentsByProject(string projectname)
        {

            return Json(projectname, JsonRequestBehavior.AllowGet);
        }

и вот мой код переднего конца

<input id="projName" type="text" name="Name" required="" value="javascript">

, а это мой код сценария

 var projectname = document.getElementById('projName').value;
    $.ajax({
        url: '/Worksheet/getRequirmentsByProject',
        type: 'post',
        data: { projectname },
        contentType: 'application/json; charset=utf-8',
        success: function (html) {
            alert(html);
        },
        error: function (error) {
            $(that).remove();
            DisplayError(error.statusText);
        }
            });

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

В вашем случае, я даю вам простой пример того, как вы можете POST свои переменные формы для вашего контроллера, используя AJAX:

<script type="text/javascript">
 var projectname = document.getElementById('projName').value;

  var json = {
              projectname: projectname
             };

    $.ajax({
        url: '@Url.Action("getRequirmentsByProject", "Worksheet")',
        type: 'post',
        dataType: "json",
        data: { "json": JSON.stringify(json)},
        success: function (data) {
            alert(data);
        },
        error: function (error) {
            $(that).remove();
            DisplayError(error.statusText);
        }
      });

</script>

И в вашем контроллере вы можете получить это значение как:

using System.Web.Script.Serialization;

[HttpPost]
public ActionResult getRequirmentsByProject(string json)
{

        var serializer = new JavaScriptSerializer();
        dynamic jsondata = serializer.Deserialize(json, typeof(object));

        //Get your variables here from AJAX call
        string projectname= jsondata["projectname"];    

    return Json(projectname);
}
0 голосов
/ 25 июня 2019

его httpget и неправильная запись

[HttpGet]
        public ActionResult getRequirmentsByProject(string projectname)
        {

            return Json(projectname, JsonRequestBehavior.AllowGet);
        }

это правильный путь, за что вы указали

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...