httphandler를 만들었습니다. 모든 것이 잘 작동합니다 요청을받는다면 GET을 입력하십시오. 하지만 보안상의 이유로 GET 요청을 정말로 원하지 않습니다.게시 요청을 사용하여 Httphandler에서 데이터에 액세스하기
나는 다음과 같은 코드를 사용하여 jQuery를 사용하여 POST 요청을 만드는 중이라서 :
$.ajax({
type: "POST",
async: false,
url: "SaveAccounts",
data: { a: "Sent Data" },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function OnSuccess(a) {
alert(a);
},
error: function OnError(request, status, error) {
alert('Error: ' + request + ' ' + status + ' ' + error);
},
complete: function() {
}
});
그리고 처리 요청에 대한 코드 것은 :
context.Response.ContentType = "application/json; charset=utf-8"
Dim s As String = context.Request.Params("a")
context.Response.Write(JsonConvert.SerializeObject(s))
이 코드는 클라이언트에서 자바 스크립트 경고에 '널'반환 측면.
요청 유형을 $ .ajax() 함수에서 GET으로 변경하면 모든 것이 잘 작동한다는 점에 유의하십시오. I는 액세스 시도
는
context.request.Params '가 결합 된 형태의 집합이다 context.Request.Form를 사용하여 데이터 ("A") 및 context.request.SserverVariables ("A"를) 등록한 ','ServerVariables ','Cookies '등
내가 어디로 잘못 가고 있는지 말해 주시겠습니까? 보고에 대한
감사합니다 ....
작동 할 수도 있지만 이는 매우 신뢰할 수 없습니다. 텍스트 상자의 텍스트에서 값을 전송한다고 가정하고, 사용자가 입력 값에 "&"또는 "="기호를 포함하면 어떻게됩니까? –
그럼 해결책을 확인했습니다. 또한 서버에서 null 값을 반환합니다. 요청 유형이 GET 인 경우 여전히 작동 중임을 참고하십시오. –
항상 사용자 입력을 삭제해야합니다. escape를 사용하면 대부분의 네트워크를 통해 전송할 수있는 JavaScript 함수입니다. –