2011-01-19 2 views
3

기본적으로 Asp.net은 Ext JS getForm().submit() 호출을 Ajax 요청으로 인식하지 못합니다. 요청이 Ajax를 통해 이루어진 경우보기 대신 JsonResult을 반환하려고하기 때문에이 문제가 발생했습니다. 다음은 호출되는 내 Asp.net MVC 동작의 내부 Asp.net이 Ext JS 양식 제출을 Ajax 요청으로 인식하도록하려면 어떻게해야합니까?

 this.getForm().submit({ 
      url: url, 
      waitMsg: 'Saving Request Details', 
      scope: this, 
      success: function (form, o) { 
       ... 
      }, 

      failure: function (form, o) { 
       ... 
      } 
     }); 

를 호출된다 그러나

, HttpContext.Request.IsAjaxRequest()는 false를 반환한다.

어떻게하면 Asp.Net이 요청을 올바르게 Ajax 요청으로 인식 할 수 있습니까?

답변

2

언제나 숨겨진 매개 변수를 추가하여 AJAX

+0

그게 좋은 생각입니다. 제출 메소드가 모든 추가 된 헤더를 무시하는 것처럼 보이는 것처럼 Ext JS 양식 제출에 헤더를 추가하는 방법을 찾지 못했기 때문에 이것을 답으로 표시하려고합니다. – KallDrexx

+0

나는 그것을 찾을 수 없다. 그래서이 방법으로 해결할 수있다. – bensiu

2

이 확장은 헤더에서 또는 "X-Requested-With"키의 요청 모음에서 "XMLHttpRequest"와 일치하는 값을 찾습니다. extJS가 아닌 것처럼 요청하면 값을 설정해야합니다.

양식 결과 내에 X-Requested-With 항목을 포함하고이를 해결하는지 확인하십시오.

HTH.

+0

Hrm을 통해 확인할 수 있습니다. Ext JS에서 요청 헤더 항목을 편집하는 방법을 알고 계십니까? – KallDrexx