2009-09-29 5 views
0

프로토 타입 1.6.1을 사용하여 페이지에 대한 POST를 작성하고 있습니다. POST 데이터는 복잡한 JSON 객체입니다. 누군가가 수신 한 페이지에서 게시 된 데이터의 원시 본문에 액세스 할 수있는 방법을 말할 수 있습니까?ASP 내에서 사용자 정의 POST 본문 읽기

보내기 페이지 :

myObject = {"key":"val", 
      "has many":{"key1":"val1", 
         "key2":"val2"} 
      } 

new Ajax.Request('Worker.asp', 
{ 
    method:"post", 
    postBody:Object.toJSON(myObject), 
    onSuccess: function(transport){ 
    var response = transport.responseText || "no response text"; 
    alert("Echo'ing back what you sent: \n\n" + response); 
}, 
onFailure: function(){ alert('Something went wrong...') } 
}); 

그래서 그 전송 페이지입니다. 객체와 요청을 만듭니다. 필자는 FireBug를 사용하여 보내려는 POST 데이터가 내가 원하는 것처럼 보이는지 확인했습니다.

이제 대상 페이지에서 POST 된 데이터에 액세스하는 데 문제가 있습니다. 나는 다음을 시도했으나 효과가 없었다.

받기 페이지 :

<% Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes)) %>

하지만 그래서 기본적으로 서버 오류 (500)를 얻을, 나는 내가 게시 한 것을 사용하는 방법을 알고 싶습니다. 어떤 도움이라도 대단히 감사합니다!

답변

1

좋아, 나는 그것을 가지고있는 것 같아. 나는 그녀가 정말로 원했던 모든 것이 부인과 같이 대우 받아야 할 때, 힘든 POST에 힘을 쏟으 려했다.

Response.Write(Request.Form("alldata")) 

그리고 타다가, 요청이와 날 다시 경고 :

new Ajax.Request('StageWorker.asp', 
{ 
method:"post", 
//postBody:Object.toJSON(AllStageInfo), //<-- THIS DIDN'T WORK 
parameters:{alldata:Object.toJSON(AllStageInfo)}, //<-- THIS DID 
onSuccess: function(transport){ 
    var response = transport.responseText || "no response text"; 
    alert("Success! \n\n" + response); 
    }, 
onFailure: function(){ alert('Something went wrong...') } 
}); 

그리고 수신 페이지가 간단했다 : 대신 내 POST 데이터를 그냥 JSON "텍스트"가 제작, 나는 그것을 매개 변수를 만들 내가 보낸 것.

관련 문제