2
컨트롤러에서보기의 작업을 수행하고 결과를 반환하고 싶습니다. 그러나 나는 항상 "요청 실패"를 얻고 컨트롤러의 액션 코드는 실행됩니다. 내가보기에이를 사용하는 것을 시도하고있다 :Ajax-mvc 요청은 항상 실패합니다.
$("#State").change(function() {
if ($(this).val() != "Va") {
$.ajax({
url: '@Url.Action("ProcessOrder","Checkout")',
type: 'POST',
success: function(result) {
if(result.success) {
alert("good " + result);
} else {
alert("bad " + result);
}
},
error: function() {
alert("request failed");
}
});
} else {
formSwitcher($(this).val());
}
});
그리고이 컨트롤러에서 : 내가 잘못 뭐하는 거지
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ProcessOrder()
{
string sURL = @"https://someUrl/?OrderId=" + Id ;
var badUrl = string.Empty;
try
{
Response.Redirect(sURL, true);
HttpWebRequest request = null;
HttpWebResponse httpWebResponse = null;
request = HttpWebRequest.Create(sURL) as HttpWebRequest;
request.Method = "GET"; // Supports POST too
httpWebResponse = (HttpWebResponse)request.GetResponse();
return Json(new { success = true });
}
catch (Exception ex)
{
badUrl = "~/Shared/error.aspx";
}
return Json(new { success = false, error = badUrl });
}
?
먼저 try catch 내에서 절대 돌아 오지 않거나 리디렉션하지 마십시오. 리디렉션하면 오류가 발생합니다. –
컨트롤러로가는 아약스 통화입니까? – Nighil
예 - 요청 실패에 대한 경고가 표시되면 컨트롤러 코드가 실행됩니다 – user1069733