문제

다중 선택의 선택된 값으로 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}

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