Ajax를 통해 배열을 PHP로 보낼 수있는 방법은 무엇입니까?
-
08-07-2019 - |
문제
다중 선택의 선택된 값으로 JavaScript로 구성된 배열을 보내고 싶습니다. AJAX를 사용 하여이 배열을 PHP 스크립트로 보내는 방법이 있습니까?
해결책
XML 또는 JSON으로 서버에 다시 게시 할 수 있습니다. JavaScript는 XML의 경우 javaScript로 작성 해야하는 게시물을 구성해야합니다. JSON은 라이터 웨이트 일뿐 만 아니라 JavaScript로 만들기가 더 쉽습니다. 체크 아웃 JSON-PHP JSON을 구문 분석하기 위해.
당신은보고 싶을 수도 있습니다 PHP에서 JSON 데이터 생성
다른 팁
$ .post 메소드의 jQuery (예 :)로 다음을 수행 할 수 있습니다.
var myJavascriptArray = new Array('jj', 'kk', 'oo');
$.post('urltocallinajax', {'myphpvariable[]': myJavascriptArray }, function(data){
// do something with received data!
});
PHP는 이름이 될 배열을받습니다 myphpvariable 그리고 myjavaScriptArray 값이 포함됩니다.
그게?
IIRC, PHP가 모양의 쿼리 문자열을 보면 http://blah.com/test.php?var[]=foo&var[]=bar&var[]=baz
, 자동으로 배열을 호출합니다 $var
여기에는 foo, bar 및 baz가 포함되어 있습니다. 쿼리 문자열의 정사각형 브래킷에 배열 인덱스를 지정할 수도 있고 해당 색인의 값을 고수 할 것입니다. URL이 브래킷을 인코딩해야 할 수도 있습니다 ...이 기능이 사용되는 일반적인 방법은 "var []라는 이름의 HTML 입력 필드를 만드는 것입니다. 따라서 브라우저가 일반적으로 수행하는 모든 것을 수행하십시오. 요청을 통해 배열 변수에 대한 PHP 문서에 섹션이 있습니다.
당신은 방법을 찾고있을 수 있습니다 직렬화 (jQuery 버전) 데이터.
jQuery 1.4 배열 전송에 PHP 구문을 사용하도록 업데이트되었습니다. 다음을 사용하여 구식으로 전환 할 수 있습니다.
여기 Synatax는 다음과 같습니다.
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가 권장하는대로 배열을 만들고 보낼 수 있습니다.
myArray.each(function(item, index) myObject.set('arrayItems['+index+']', item);
myAjax.send(myObject.toQueryString());
그것은 $ _post [ 'arrayitems']를 통해 액세스 할 수있는 Arrayitems라는 배열을 PHP에 보냅니다.
echo $_POST['arrayItems'] ;
array => {[0] => 'First Thing', [1] => Second Thing}