에이잭스를 통해 어떻게 php로 배열을 보낼 수 있습니까?
다중 선택의 선택된 값으로 자바스크립트로 구성된 배열을 보내고 싶습니다.아약스를 사용하여 이 배열을 php 스크립트로 보내는 방법이 있습니까?
jQuery의 $.post 메서드(예:
var myJavascriptArray = new Array('jj', 'kk', 'oo');
$.post('urltocallinajax', {'myphpvariable[]': myJavascriptArray }, function(data){
// do something with received data!
});
php는 myphpvariable이라는 이름의 배열을 수신하고 myJavascriptArray 값을 포함합니다.
그거야?
XML 또는 JSON을 사용하여 서버에 다시 게시할 수 있습니다.당신의 자바스크립트는 게시물을 구성해야 할 것이고, XML의 경우 당신이 자바스크립트로 작성해야 할 것입니다.JSON은 무게가 가벼울 뿐만 아니라 자바스크립트로 만들기도 쉽습니다.JSON 구문 분석을 위해 JSON-PHP를 확인하십시오.
당신은 PHP에서 JSON 데이터를 만드는 것을 보는 것이 좋을 것입니다.
IIRC, PHP가 다음과 같은 쿼리 문자열을 볼 경우http://blah.com/test.php?var[]=foo&var[]=bar&var[]=baz
자동으로 다음과 같은 배열을 만듭니다.$var
푸, 바, 바즈가 들어 있습니다.쿼리 문자열의 대괄호에 배열 인덱스를 지정할 수도 있으며 해당 인덱스에 값이 고정됩니다.괄호를 URL 인코딩해야 할 수도 있습니다...이 기능은 일반적으로 "var[]"라는 이름의 HTML 입력 필드를 만드는 데 사용되므로 브라우저가 일반적으로 수행하는 작업을 수행합니다.요청을 통해 배열 변수에 대한 섹션이 PHP 문서에 있습니다.
데이터를 직렬화(jQuery 버전)하는 방법을 찾고 있을 수 있습니다.
배열 전송을 위해 PHP 구문을 사용하도록 jQuery 1.4가 업데이트되었습니다.다음을 사용하여 이전 스타일로 전환할 수 있습니다.
시나택스는 다음과 같습니다.
jQuery.ajaxSetting.traditional = true;
여기 그 예가 있습니다.
$.ajax({
traditional: true,
type: "post",
url: myURL,
dataType: "text",
data: dataToSend, //this will be an array eg.
success: function(request) {
$('#results').html(request);
} // End success
}); // End ajax method
Meador가 추천한 대로 배열을 만들어 전송할 수 있습니다. (다음 코드는 Mootool이지만 다른 라이브러리/일반적으로 오래된 JS와 유사합니다.)
myArray.each(function(item, index) myObject.set('arrayItems['+index+']', item);
myAjax.send(myObject.toQueryString());
그러면 $_POST['arrayItems']를 통해 액세스할 수 있는 arrayItems라는 어레이가 php로 전송됩니다.
echo $_POST['arrayItems'] ;
다음과 같은 것을 반향합니다. array=>{[0]=> '첫 번째 것', [1]=> 두 번째 것}.
언급URL : https://stackoverflow.com/questions/299610/how-can-i-send-an-array-to-php-through-ajax
'programing' 카테고리의 다른 글
반복 필드에 할당하는 방법은 무엇입니까? (0) | 2023.07.29 |
---|---|
C를 위한 좋은 플롯 라이브러리? (0) | 2023.07.29 |
.vmx 메서드를 사용하여 쉼표 없이 배열을 문자열로 변환 (0) | 2023.07.29 |
외부 적용 또는 측면 적용에 대한 mariadb 대안? (0) | 2023.07.29 |
가져오기 오류: 윈도우즈 732비트에서 pip --version 명령을 실행할 때 이름 main을 가져올 수 없습니다. (0) | 2023.07.29 |