2010-08-17 4 views
4

jQuery에서 연관 배열 (또는 몇 가지 비교 가능한 대안)을 만들고 해당 배열을 ajax를 통해 PHP 페이지에 보내면 PHP에서 처리 할 수 ​​있습니까?jquery에서 연관 배열을 만들고 php로 파싱되도록 ​​ajax를 통해 보내려면 어떻게해야합니까?

뭔가 같이 ...

이어서
// jQuery 

if($something == true) { 
    data[alt] = $(this).attr('alt'); 
    data[src] = $(this).attr('src'); 
else if ($something == "something else") { 
    data[html] = $(this).html(); 
} 

상기 아약스를 이용하여이 어레이를 전송

// jQuery 

$.ajax({ 
    data: /* somehow send my array here */, 
    type: 'POST', 
    url: myUrl, 
    complete: function(){ 
     // I'll do something cool here 
    } 
}); 

마지막() 함수, ... PHP이 데이터를 파싱

// php 

<img alt="<?PHP echo $_POST['alt']; ?>" src="<?PHP echo $_POST['src']; ?>" /> 

나는 주제에 조금 인터넷 검색을했는데 당신이 자바 스크립트와 연관 ​​배열을 만들 수 없다는 것을 읽었습니다. 정말로 대안을 찾고 있어요. 미리 감사드립니다.

답변

4

이 같은 $.ajax()에 개체로 데이터를 전달할 수 있습니다 :

var data = {}; 
if ($something == true) { 
    data.alt = $(this).attr('alt'); 
    data.src = $(this).attr('src'); 
}else if ($something == "something else") { 
    data.html = $(this).html(); 
} 

$.ajax({ 
    data: data, 
    type: 'POST', 
    url: myUrl, 
    complete: function(){ 
     // I'll do something cool here 
    } 
}); 

이것은 POST에 대한 변환 할 $.param(obj)를 사용하여 내부적으로 게시물에 대한 직렬화 얻을 것이다, 예를 들면 :

alt=thisAlt&src=thisSrc 

나 :

html=myEncodedHtml 
+0

을 어떻게 것 php로 이것들을 출력 해 주시겠습니까? – Johnny

+0

@Johnny - 이미 질문하신 것처럼, 예. '$ _POST [ 'alt']' –

0

하면이 J에게 간단하지 않음 php 측에 json을 보내고, php에서 json_decode 함수를 사용하여 PHP 측에서 연관 배열을 얻으시겠습니까?

0

연관 배열은 PHP와 관련이 있습니다. 그러나 중괄호 ({})를 통해 비슷한 것을 가질 수 있습니다. 사실 $.ajax() 전화에서 이미 사용하고 있습니다. '{}'부분을 확인하십시오. 이 경우, 당신은 '데이터'매개 변수 디코딩하기 위해 PHP 서버에 json_decode()를 사용할 수 있습니다 json_decode 사용

// jquery
$.ajax({
url: myUrl,
data: {
foo: 0,
bar: 1,
baz: 2
},
success: function() {
},
dataType: 'json'
});

()을 당신에게 같은 것을 얻을 것이다 :

// php array('foo' => 0, 'bar' => 1, 'baz' => 2);

+0

위의 코드 에서처럼 키/값을 한 번에 하나씩 추가하는 방법은 무엇입니까? – Johnny

+0

var data = {}; 데이터 [ 'foo'] = 0; – Wayne

관련 문제