[JQUERY] PHP 스크립트에 Ajax를 배열 보내기
JQUERYPHP 스크립트에 Ajax를 배열 보내기
해결법
-
1.JSON으로 데이터 문자열을 인코딩합니다.
JSON으로 데이터 문자열을 인코딩합니다.
dataString = ??? ; // array? var jsonString = JSON.stringify(dataString); $.ajax({ type: "POST", url: "script.php", data: {data : jsonString}, cache: false, success: function(){ alert("OK"); } });
당신의 PHP에서
$data = json_decode(stripslashes($_POST['data'])); // here i would like use foreach: foreach($data as $d){ echo $d; }
노트
당신이 POST를 통해 데이터를 보낼 때, 그것은 키 값 쌍으로 할 필요가있다.
그러므로
데이터 : dataString
잘못된 것입니다. 대신 수행
데이터 : {데이터 : dataString}
-
2.
dataString = []; $.ajax({ type: "POST", url: "script.php", data:{data: $(dataString).serializeArray()}, cache: false, success: function(){ alert("OK"); } });
http://api.jquery.com/serializeArray/
-
3.의 jQuery AJAX 데이터는 () 함수는 입력으로 익명 객체를 받아 문서를 참조. 무엇 당신이 찾고있는의 예를 따라서 :
의 jQuery AJAX 데이터는 () 함수는 입력으로 익명 객체를 받아 문서를 참조. 무엇 당신이 찾고있는의 예를 따라서 :
dataString = {key: 'val', key2: 'val2'}; $.ajax({ type: "POST", url: "script.php", data: dataString, cache: false, success: function(){ alert("OK"); } });
또한 키 = 발 & 키 2 = val2만큼처럼, 자신에 POST / GET 쿼리를 작성 할 수 있습니다,하지만 당신은 비실용적 인 자신을 이스케이프 처리해야 할 것이다.
-
4.데이터 문자열은 데이터가 문자열 형식 (그리고 어쩌면 문자로 구분)한다 제안한다.
데이터 문자열은 데이터가 문자열 형식 (그리고 어쩌면 문자로 구분)한다 제안한다.
$data = explode(",", $_POST['data']); foreach($data as $d){ echo $d; }
데이터 문자열은 문자열이 아니라 사실 배열 (귀하의 질문에 나타내는 것) JSON을 사용하는 경우.
-
5.값을 구분하여이 일 개 dimentional 배열을 보내려고되었으며, JQuery와 쉼표로 변환 된 경우> :( 다음 ** 모든 쉼표 황소를 분리 아래 코드와 실제 배열은 PHP로 제출되지는 않습니다를 따르십시오.
값을 구분하여이 일 개 dimentional 배열을 보내려고되었으며, JQuery와 쉼표로 변환 된 경우> :( 다음 ** 모든 쉼표 황소를 분리 아래 코드와 실제 배열은 PHP로 제출되지는 않습니다를 따르십시오.
단일 차원 배열을 이름 myvals을 첨부해야 말.
jQuery('#someform').on('submit', function (e) { e.preventDefault(); var data = $(this).serializeArray(); var myvals = [21, 52, 13, 24, 75]; // This array could come from anywhere you choose for (i = 0; i < myvals.length; i++) { data.push({ name: "myvals[]", // These blank empty brackets are imp! value: myvals[i] }); } jQuery.ajax({ type: "post", url: jQuery(this).attr('action'), dataType: "json", data: data, // You have to just pass our data variable plain and simple no Rube Goldberg sh*t. success: function (r) { ...
이제 PHP 내부에서이 작업을 수행 할 때
print_r($_POST);
당신은 얻을 것이다 ..
Array ( [someinputinsidetheform] => 023 [anotherforminput] => 111 [myvals] => Array ( [0] => 21 [1] => 52 [2] => 13 [3] => 24 [4] => 75 ) )
나의 언어를 용서하지만, 거기에 루브 - 골드버그 솔루션의 지옥이 많이있는 모든 웹을 통해 특별히 SO에 흩어져 있지만, 그들 중 누구도 우아하거나 실제로 PHP를 통해 아약스 게시물에 한 차원 배열을 게시하는 문제를 해결한다. 이 솔루션을 확산하는 것을 잊지 마십시오.
from https://stackoverflow.com/questions/9001526/send-array-with-ajax-to-php-script by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 클론 ()조차에로, 이벤트 바인딩을 복제 () (0) | 2020.10.21 |
---|---|
[JQUERY] 자바 스크립트 또는 jQuery를 브라우저의 뒤로 버튼을 클릭 검출기 (0) | 2020.10.21 |
[JQUERY] 정렬 혼합 알파 / 숫자 배열 (0) | 2020.10.21 |
[JQUERY] jQuery로 HTML 주석을 선택 (0) | 2020.10.21 |
[JQUERY] jQuery를 단일 키 누르기 이벤트에 여러 개의 키를 감지 (0) | 2020.10.21 |