2015-01-27 2 views
0

이것은 버튼의 onclick에 대한 내 아약스 코드입니다. 경고 상자에 값이 정확한지 표시됩니다. 하지만 컨트롤러에 연결하려고하면 500 오류가납니다. 컨트롤러는 ContentPackController입니다. Ajax 호출시 500 오류가 발생했습니다.

$(function() { 
     $('#updateContent').click(function() { 
      var selectedValue = $('#contentAlias').val(); 
      var value = $('#contentPackDetails').val(); 
      alert(selectedValue + " " + value); 
      $.ajax({ 
       url: '@Url.Action("UpdateContent", "ContentPack")', 
       type: "POST", 
       data: { PropId: selectedValue, UpdateText: 'Looking For An <span class="embellish">Great Deal</span> On Your Next Home?"' }, 
       error: function (xhr, ajaxOptions, thrownError) { 
        alert(xhr.status); 
        alert(thrownError); 
       }, success: function() { 
        alert("Updates have been saved"); 
       } 
      }); 
     }); 
    }); 

이 그냥 날 미치게됩니다

public ActionResult UpdateContent(int PropId, string UpdateText)  
    { 
     using (var entities = new OpenRoadEntities()) 
     { 
      var prop = entities.ContentPackDetails.FirstOrDefault(c => c.Id==PropId); 
      prop.Value = UpdateText; 
      entities.SaveChanges(); 
      return Json(new EmptyResult(),JsonRequestBehavior.AllowGet); 
     } 

    } 

라고해야 ActionResult입니다. 같은 컨트롤러에 대한 다른 호출이 올바르게 작동합니다.

+3

POST 요청을하고있어 GET을 위해 설정 한 것처럼 보입니다. –

+0

아파치 오류 로그에 뭐라고 쓰여 있니? – nicolallias

+0

@PaulAbbott조차도 행동을 취하지 않습니다. 그것은 여전히 ​​함수 shouldnt 그것을 공격해야합니까? – Snake3ite

답변

1

POST 데이터의 HTML 태그 때문입니다. MVC는 데이터의 유효성을 검사하고 잠재적으로 안전하지 않은 콘텐츠를 발견하면 오류를 throw합니다. 액션에서 변환 된 마크 업을 만들거나 액션에 [ValidateInput(false)] 속성을 추가하십시오.

관련 문제