2016-07-13 2 views
0

У меня есть форма asp.net, у которой нет атрибута действия, а submit будет обрабатываться ajax следующим образом.Перенаправить страницу asp на другой URL

$.ajax({ 
       url: "home2.aspx/DoSubmit", 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       data: '{x: "' + $("#x").val() + '",y: "' + $("#y").val() + '"}', 
       dataType: "json", 
       success: function (result) 
       { 
        alert("success..."); 
       }, 
       error: function (xhr, status) { 
        alert("Error", status); 
       } 
      }); 
      return false; 
     }); 

в коде после предоставления соответствующего ответа на вызов AJAX Я хочу, чтобы перенаправить asp.net страницу на другую страницу (даже различные области) с другими параметрами, которые у меня были там в интерфейсе. Я тестирую этот метод, создавая HttpWebRequest, но не работаю.

var postData = (requestParam.ToString()); 
      var data = Encoding.ASCII.GetBytes(postData); 
      HttpWebRequest request; 
      try 
      { 
       request = (HttpWebRequest)HttpWebRequest.Create("https:someDomain"); 
      } 
      catch (UriFormatException) 
      { 
       request = null; 
      } 
      request.Method = "POST"; 
      request.ContentType = "application/x-www-form-urlencoded"; 
      request.ContentLength = data.Length; 
      Stream postStream = request.GetRequestStream() 
      postStream.Write(data, 0, data.Length); 
      postStream.Flush(); 
      postStream.Close(); 

эта причина этой ошибки: Аутентификация не удалась, поскольку удаленная сторона закрыла транспортный поток.
благодарит за помощь

+0

В какую строку вы принимаете ошибку? Вы говорите, что уже возвращаетесь обратно к вызывающему абоненту ajax, как вы делаете больше обработки после того, как вернетесь? –

ответ

2

Звонок ajax - это OOB (вне диапазона) из браузера. Он имеет абсолютно ZERO-соединение с механизмом навигации браузера. Таким образом, ваша переадресация не будет работать.

Вам необходимо подписаться на событие ajax success (and/or failure). В этом случае вы будете перенаправлять клиентскую сторону с помощью любого количества способов навигации в браузере (например, window.location).

Если вам нужен URL-адрес перенаправления с сервера, тогда ваше действие вернет его как часть ответа ajax.

Смежные вопросы