함수 postdata(){
$.ajax({
유형: "Post", // 데이터 제출을 위한 ajax 메소드 형식 설정
URL: "ok.php", |
data: "writer=" $("#writer").val(), //입력 상자 작성기의 값이 제출된 데이터로 사용됩니다
성공: function(msg){ //제출 성공 후 콜백, msg 변수는 ok.php의 콘텐츠 출력입니다.
Alert("데이터가 성공적으로 제출되었습니다."); //필요한 경우 msg 변수의 값을 DIV 요소에 표시할 수 있습니다.
~
})
}
jquery 매뉴얼 설명:
data 서버로 전송된 데이터입니다. 요청 문자열 형식으로 자동 변환됩니다. GET 요청의 URL에 추가됩니다. 이 자동 변환을 비활성화하려면 processData 옵션 설명을 참조하세요. 키/값 형식이어야 합니다. 배열인 경우 jQuery는 자동으로 동일한 이름을 다른 값에 할당합니다. 예를 들어, {foo:["bar1", "bar2"]}는 '&foo=bar1&foo=bar2'로 변환됩니다.
예:
코드 복사
URL: "some.php",
데이터: "이름=John&위치=Boston",
성공: 함수(msg){
경고( "저장된 데이터: " msg );
}
})
여기 데이터 다음의 매개변수는 두 가지 형식으로 작성할 수 있습니다. 하나는 일반 URL 매개변수와 동일한 방식으로 작성되고 다른 하나는 json 배열로 작성됩니다.
위 예제의 데이터 부분은 다음과 같이 작성할 수도 있습니다: data: {name: "John", location: "Boston"}. 이 두 가지 사용법의 차이점은 무엇입니까?
오늘 개발 과정에서 둘 사이의 미묘한 사용법 차이를 발견했습니다. 첫 번째 방법은 URL을 사용하여 매개변수를 전달하는 것입니다. 매개변수에 "&" 기호가 추가되면 "data: "name=John&location=Boston",",
name 값이 "john&smith"인 경우 JS에서 encodeURIComponent() 메서드를 사용하여 이스케이프하면 문제가 발생할 수 있습니다.
그러나 {name:"John",location:"Boston"}과 같이 작성하면 이스케이프할 필요가 없습니다. 이스케이프된 문자열을 받게 됩니다