문제

GET을 POST로 변경하고 있습니다.현재 .jsp?id=a,b,c,d가 있습니다.이것을 게시물로 변경할 때 나는 여전히 id 매개변수 a,b,c,d를 사용하고 있습니다.이것은 나에게 효과가 없습니다.게시물 매개변수에 쉼표로 구분된 목록을 제출할 수 있나요?

도움이 되었습니까?

해결책

내가 틀렸습니까? 아니면 대부분의 답변이 요점을 벗어났습니까?

귀하의 질문에 정확하게 대답하려면 예, 쉼표로 구분된 목록을 POST 매개변수에 제출할 수 있습니다.솔직히 말해서 방금 PHP 스크립트를 사용해 빠르게 시도해 보았지만 왜 Java가 다르게 동작하는지 모르겠습니다.POST 요청의 한 가지 점은 구문에 대한 제약이 훨씬 적다는 것입니다(escape = & 등이 필요하지 않음).

따라서 "작동하지 않는 것"에 대해 자세히 설명하시면 더 많은 도움을 드릴 수 있습니다.

다른 팁

선택한 양식 입력처럼 할 수 있습니다.

url? param = value1¶m = value2¶m = value3

귀하의 언어 및 도서관에 따라 Param에 대한 값 배열을 얻을 수 있어야합니다.


예를 들어 ASP.NET MVC를 사용하면 문자열 배열을 얻기 위해이 작업을 수행합니다.

string[] values = Request.Form.GetValues("param");

피온이 옳다. 사용

url?param=value1&param=value2&param=value3

여러 값을 단일 매개 변수로 설정합니다. Servlet/JSP의 값을 읽으려면 사용할 수 있습니다.

String[] values = request.getParameterValues("param");

매개 변수를 배열로 명명하여 여러 값을 전달하도록 설정하십시오. 입력 "ID"를 호출하는 대신 "id []라고 부릅니다.

<form method="post">
<select multiple name="id[]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="submit" value="send">
</form>

처리 할 때 이름이 지정된 매개 변수로 전송 된 값 배열을 추출하십시오.

사용하여 둘 이상의 매개 변수를 전달할 수 있습니다

        xmlhttp
                .send("files=" + files.value + "&tagcount="
                        + tagcount.value);

여기 파일 그리고 Tagcount Parmeters의 ID가 통과 될 것입니다. 이것은 내 Ajax 스크립트에서 작동했습니다. 정상적인 경우에는 매개 변수를 추가 할 수 있습니다. &. 따라서 매개 변수는 모양이 될 수 있습니다

"parameter1=" + parameter1.value + "&parameter2=" + parameter2.value

사후 요청 최소 1 매개 변수는 매개 변수 목록에 있어야합니다. 요청에 따라 매개 변수를 추가하는 경우 작동하지 않습니다. 이를 위해서는 매개 변수를 숨겨진 양식 필드로 보내야합니다. 또는 다음 코드를 사용해보십시오

함수 makepostrequest (url, 매개 변수) {

  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
        // set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }

  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);

}

Get and Post는 두 가지 다른 목적을 가지고 있습니다. Wikipedia HTTP 항목에서 :

가져 오기

지정된 리소스의 표현을 요청합니다. GET는 웹 응용 프로그램에서 작업을 수행하기 위해 IT를 사용하는 것과 같은 부작용을 유발하는 작업에 사용해서는 안됩니다. 그 이유 중 하나는 로봇이나 크롤러가 GET을 임의로 사용할 수 있기 때문에 요청이 발생 해야하는 부작용을 고려할 필요가 없기 때문입니다. 아래의 안전한 방법을 참조하십시오.

게시하다

처리 할 데이터 (예 : HTML 양식에서)를 식별 된 리소스로 제출합니다. 데이터는 요청 본문에 포함됩니다. 이로 인해 새로운 리소스가 생성되거나 기존 리소스 또는 둘 다의 업데이트가 발생할 수 있습니다.

기본적으로, 당신은 Get to Get, 정보를 얻고, 새 레코드 추가와 같은 서버의 상태를 변경하는 모든 작업에 대해 게시해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top