2011-02-01 5 views
4

빠른 질문jquery .serializeArray() 게시; 아약스를 통해 출력

내가 jQuery의 .serializeArray(); 기능을 사용하여 양식을 연재 한 경우

내가 data: jQuery의 Ajax를 사용하여 전원을 보내기 전에 내가 아무것도 어떻게해야합니까?

[{name: inp1, value: 'val1'}, {name: inp2, value: 'val2'}]을 그대로 보내거나 어떻게 든 사전 처리해야합니까?

그리고 PHP에서 어떻게 읽습니까?

답변

23

serialize을 사용하는 것이 더 좋을 것입니다. 당신이 GET 방법을 사용하여 PHP이를 보낼 가정하면

var myData = $('#yourForm').serialize(); 
// "inp1=val1&inp2=val2" 
$.ajax({ 
    url: "http://example.com", 
    data: myData 
}); 

, 당신은 $_GET['inp1']$_GET['inp2']

를 사용하여이 값에 액세스 할 수 있습니다 이것은 AJAX 호출의 data 속성으로 사용할 수있는 간단한 문자열로 양식의 값을 변환

편집 : 당신은 $.param

var myData = $('#yourForm').serializeArray(); 
// remove items from myData 
$.ajax({ 
    url: "http://example.com", 
    data: $.param(myData) // "inp1=val1&inp2=val2" 
}); 
를 사용하는 파라미터의 캐릭터 라인으로 serializeArray에 의해 배열을 변환 할 수 있습니다
+0

게시물 :/ 또한 반환 된 배열에서 (양식을 만들 때 변경되지 않은 개체를 제거하여) 일부 전처리 작업을 수행하고 있습니다. 따라서 배열이 필요한 이유는 무엇입니까? – Hailwood

+1

@Hailwood 업데이트 된 답변을 참조하십시오. POST 변수는 PHP에서 보통대로 $ _POST [ 'inp1']'대신에 접근 할 수 있습니다. – lonesomeday

관련 문제