2010-07-08 2 views
3

내 사이트 코드 절반을 포함하지 않고이 질문을 게시하는 방법을 모르겠지만 여기에 나와 있습니다.IE에서 jQuery 및 AJAX 게시로 ASP.NET MVC 권한 부여

본인에게는 하청 계약 양식, 회사 양식 및 문의 양식이있는 사이트가 있습니다. 하청 계약 양식에서 jQuery 대화 상자를 열고 회사 또는 연락처 정보를 게시하는 버튼을 통해 새 회사 및/또는 새 연락처를 만들 수 있습니다. 회사 양식에는 새 연락처를 만드는 버튼이 있습니다. 하청 형태에서

:

$('#popupCreateCompany').dialog(
     { 
      autoOpen: false, 
      modal: true, 
      width: 600, 
      open: function(event, ui) { 
       if ($('#primary_company').val().length > 0) { 
        $('#secondary').attr('checked', 'true'); 
       } 
       else { 
        $('#primary').attr('checked', 'true'); 
        $('#sec').hide(); 
       } 
      }, 
      buttons: 
      { 
       'Add': function() { 
        var dialog = $(this); 
        var form = dialog.find('input:text, select'); 
        $.post('<%= ResolveUrl("~/company/post") %>', $(form).serialize(), function(data) { 
         if (data.Result == "success") { ... 

. 회사 양식에서

$('#popupCreateContact').dialog(
     { 
      autoOpen: false, 
      modal: true, 
      width: 600, 
      buttons: 
      { 
       'Add': function() { 
        var dialog = $(this); 
        var form = dialog.find('input:text, select'); 
        $.post('<%= ResolveUrl("~/contact/post") %>', $(form).serialize(), function(data) { ... 

: 우리는 사이트에 일부 사용자 지정 승인을 구현 할 때까지

$('#popupCreateContact').dialog(
     { 
      autoOpen: false, 
      modal: true, 
      buttons: 
      { 
       'Add': function() { 
        var dialog = $(this); 
        var form = dialog.find('input:text, select'); 
        $.post('<%= ResolveUrl("~/contact/post") %>', $(form).serialize(), function(data) { 
         if (data.Result == "success") { ... 

이 기능을했다. 이제는 외주 계약서의 담당자를 추가 할 수 있지만 외주 업체의 회사는 추가 할 수 없습니다. 회사 양식에서 연락처를 추가 할 수 없습니다. "추가"를 클릭하면 아무 일도 일어나지 않습니다. $.post 줄 앞뒤에 경고를 추가했으나 전에 경고를 받았지만 경고는 표시하지 않았습니다. 연락/게시물에 중단 점을 넣으면 결코 도달하지 않습니다. 동일한 권한 부여 그룹은 외주 업체, 회사 및 담당자를 추가 할 수 있습니다. 회사 컨트롤러에서

: 동일한 접촉 후 루틴이 하청 형태에서 회사 양식에서 호출되는

[AcceptVerbs(HttpVerbs.Post), MarlowAuthorize(Roles = "Subcontract_Modify, Admin", ViewName = "AuthorizationError")] 
    public JsonResult Post(company company) 
    { 
     if (ModelState.IsValid) 
     { 
      try 
      { 

. 하지만 하나는 작동하고 다른 하나는 작동하지 않습니다. 컨택 컨트롤러에서 :

[AcceptVerbs(HttpVerbs.Post), MarlowAuthorize(Roles = "Subcontract_Modify, Admin", ViewName = "AuthorizationError")] 
    public JsonResult Post(contact contact) 
    { 
     if (ModelState.IsValid) 
     { 
      try 
      { 

컨트롤러의 위치에 권한 부여 특성을 추가하려고 시도했지만 제거하려고했습니다. 내가 시도하는 콤보가 무엇이든, 나는 같은 결과를 얻는다. 외주 업체의 담당자를 추가 할 수는 있지만 회사는 추가 할 수 없습니다. 그리고 회사의 담당자를 추가 할 수 없습니다. 나는 그 차이가 어딘가인지보기 위해 그것이 나를 알게 될 것이라고 생각하고 있지만, 나는 그것을 찾지 못하고있다.

편집 그냥 방화범을 사용하는 파이어 폭스에 가서 파이어 폭스에서 일하고 것으로 보인다. 그러나 IE7이나 IE8에서는 작동하지 않습니다.

답변

0

그래도 작동하지만 아무도 "이유"를 설명 할 수 있는지 알고 싶습니다.

var dialog = $(this); 
var form = dialog.find('input:text, select'); 
$.post('<%= ResolveUrl("~/company/post") %>', $(form).serialize(), function(data) { ... 

을 변경하고 지금은 IE에서 작동합니다.

저는 지난주까지 왜 그것이 효과가 있었는지, 그리고 여전히 하도급 계약에서 근무한 이유가 무엇인지 이해하지 못합니다.하지만 하청 계약이나 회사로부터의 연락은 아닙니다.

3

Fiddler을 사용하고 Firefox와 IE가 보내는 데이터의 차이점을 비교하십시오.

+0

나는 전에 Fiddler를 사용한 적이 없습니다.처음에 내 사이트에 로그온 한 후 "웹 세션"아래에 새로운 목록이 표시되지 않습니다. 모든 스택 오버플로 작업을 볼 수 있습니다. – RememberME

+0

신경 쓰지 마라, 알았다. 사이트가 https이기 때문입니다. – RememberME

관련 문제