2011-05-10 4 views
3

학교의 경우 ASP.NET으로 Twitter 클라이언트를 개발해야합니다.아약스 응답에서 데이터 가져 오기

앱에는 삭제 링크가있는 트윗 목록이 있습니다. 이 링크는 도우미 Ajax.ActionLink()로 만들어지며 OnSuccess 이벤트에 대한 콜백 함수를 지정했습니다.

이 링크는 정상입니다. 조치가 수행되고 콜백이 트리거되지만 Ajax 응답에서 전송 된 데이터에 액세스 할 수 없습니다.

콜백은 하나의 인수 만받습니다. 다음은이 객체의 덤프입니다.

>> Sys.Mvc.AjaxContext 
$0: 0 
$1: null 
$2: Sys.Net.XMLHttpExecutor 
$3: Sys.Net.WebRequest 
$4: null 

내 responseText는 어디에 있습니까? 응답에 콘텐츠가 있고 (Chrome 개발자 도구에 따라) 실제로 액세스하려고합니다.

보너스 : Ajax 클라이언트가 자동으로 응답을 JSON으로 구문 분석 할 수 있습니까 (JSON 메서드로 작업이 JSON 메서드를 올바르게 반환합니다)?

감사합니다. ;)


이 프로젝트의 마감일은 끝났습니다. 응답에 get_data를 사용했습니다.

나는이 사소한 필요성에 대한 문서가 부족하여 실망했다. 지금도 나는 그 방법을 안다, 나는 MSDN에서 그것을 발견 할 수 없다 ... 그런 연민. :(돌아 가기 레일에 내 소중한 루비

, 난 기분이 좋아.

좋은 하루 당신의 도움을 주셔서 감사 어쨌든! :)

답변

2

텍스트를 얻을 수있는 자바 스크립트 객체 또는 get_data()을 얻을 수 있도록 AjaxContext에 get_object()를 호출하십시오. 더 쉬운 방법은 OnSuccess 함수가 반환 된 객체가 될 인수를 취하는 것입니다.

public ActionResult ReturnJson() 
{ 
    return Json(new { TestMessage = "Hello, world!" }, JsonRequestBehavior.AllowGet); 
} 

그리고보기

... onsuccess는이 호출

<script type="text/javascript"> 
    function AjaxSuccess(obj) { 
     alert(obj.TestMessage); 
    } 
</script> 

@Ajax.ActionLink("Say Hi", "ReturnJson", new AjaxOptions() { OnSuccess = "AjaxSuccess" }) 
0

당신이 할 코드 내에서 responseText에 액세스하려면 AJAX (비동기 JavaScript 및 XML)를 사용하려면 SJAX (Synchronous JavaScript and XML)를 사용하고 싶습니다.

AJAX를 사용하면 코드가 responseText를 기다리지 않고 계속 실행되므로 코드에서 나중에 참조하려고하면 아직 처리되지 않았을 수 있습니다.

SJAX를 사용하는 경우 코드는 responseText를 기다렸다가 계속 실행됩니다.

저는 ASP.NET을 사용하지 않으므로 코드를 도울 수 없습니다. 여기

는이 자바 스크립트에서 수행하는 방법이다 : JavaScript - AJAX/SJAX - Submit Form Data to a Script

+0

결과가 돌아올 때 –