2016-12-30 2 views
0

Я пытаюсь вызвать метод действия из ASPX страницы с помощью Ajax согласно ниже код:Как вызвать метод действий из ASPX страницы с помощью Ajax

var authHeader = window.btoa("Ankita:Ankita"); 
    $.ajax({ 
         type: 'POST', 
         contentType: "application/json; charset=utf-8", 
         url: 'http://localhost:52099/Home', 
         async: false, 
         headers: { Authorization: authHeader }, 
         success: function (response) { 
          alert("hi"); 
         }, 
         error: function(e){ 
          alert(e); 
         } 
        }); 

Но это не работает, что я сделал не так?

Кроме того, я хочу отобразить страницу возврата как всплывающее окно внутри aspx. Как я могу это достичь?

Спасибо!

+0

'http: // localhost: 52099/Home' У вас есть ссылка только на имя контроллера. Добавьте имя действия в url, например 'http: // localhost: 52099/Home/Index /'. Убедитесь, что ваш метод ** action ** имеет атрибут ** HttpGet **, потому что вы запрашиваете тип POST. –

+0

Почему вы добавляете столько опций, в частности, выражение «async: false»? Это сделает всю страницу бесполезной до тех пор, пока она не завершится и будет выглядеть так, как браузер будет заморожен для пользователя. При программировании вы должны следовать правилу KISS (Keep It Simple Stupid). Передайте только то, что вам нужно пройти. –

+0

@DawidWekwejt, у меня есть догадка, что «ASPX» будет WebForms, если они не качают очень старую версию MVC. –

ответ

0

В этом блоке здесь:

success: function (response) { 
          alert("hi"); 
         }, 

Отклик возвращаемый вид, так что вы хотите сделать, это найти тело вашего всплывающего окна. Я предполагаю его bootstrap modal и заменяю его внутренним html. А потом всплываешь.

success: function (response) { 
          $("#popupdivmodal").find('div.body').html('').html(response); 
         }, 
Смежные вопросы