programing

에이잭스를 통해 어떻게 php로 배열을 보낼 수 있습니까?

css3 2023. 7. 29. 08:48

에이잭스를 통해 어떻게 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