Точка останова не попадает в действие контроллера при вызове через вызов Ajax - PullRequest
0 голосов
/ 17 октября 2018

Я делаю следующий AJAX-вызов метода в контроллере

var jsonParams = { name: $('#txt_name').val(), address: $('#txt_addr').val() };
var json = JSON.stringify(jsonParams);
var actionUrl = "/AddressController/SaveAddress"; 

alert('all ok');  //alert arrives
$.ajax({      
        url: actionUrl,
        data: json,
        dataType: "json",
        type: 'POST',
        async: true,
        contentType: 'application/json; charset=utf-8',   
        success: function (response) {
            // success message
        }
});

А вот мой метод действия контроллера

public JsonResult SaveAddress(string name, string address)
{
      //code
}

Здесь я установил точку останова в методе SaveAddress, однако, когдаЯ пытался отладить код с помощью firebug, вызывается Ajax, но точка останова не достигает метода.Кроме того, он ничего не делает, .. нет ответа, нет сообщения об успехе, как будто он вообще не затрагивает метод действия.

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

Пожалуйста, помогите.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Попробуйте следующий URL, поскольку ваш метод контроллера принимает два параметра, а не строку json.

var actionUrl = "/Address/SaveAddress?name=" + $('#txt_name').val() +"&address=" + $('#txt_addr').val();
0 голосов
/ 18 октября 2018

Вы можете создать ViewModel, например, свойство JsonParams и получить свой JSON.stringify от вашего контроллера с помощью ViewModel.

Public class TestViewModel
{
  public string name {get;set;}
  public string address{get;set;}
}

public JsonResult SaveAddress(TestViewModel json)
{
  //code
}
...