jQuery $ .ajax를 통해 JavaScript 배열을 PHP에 전달
PHPjQuery $ .ajax를 통해 JavaScript 배열을 PHP에 전달
PHP에서 JavaScript 배열을 조작하고 싶습니다. 이런 식으로 할 수 있습니까?
$.ajax({
type: "POST",
url: "tourFinderFunctions.php",
data: "activitiesArray="+activities,
success: function() {
$("#lengthQuestion").fadeOut('slow');
}
});
활동은 다음과 같은 단일 차원 배열입니다.
var activities = ['Location Zero', 'Location One', 'Location Two'];
시도해도 스크립트가 완료되지 않습니다 ... 어떻게 해결할 수 있습니까?
해결법
-
==============================
1.
data: { activitiesArray: activities },
그게 다야! 이제 PHP에서 액세스 할 수 있습니다.
<?php $myArray = $_REQUEST['activitiesArray']; ?>
-
==============================
2.전송하기 전에 배열을 JSON으로 인코딩하거나 반대편에 정크가 생길 수 있습니다.
전송하기 전에 배열을 JSON으로 인코딩하거나 반대편에 정크가 생길 수 있습니다.
보내는 모든 것이 배열이기 때문에 다음과 같이 할 수 있습니다.
data: { activities: activities }
배열이 자동으로 변환됩니다.
자세한 내용은 여기를 참조하십시오.
-
==============================
3.이것을 문자열로 변환해야합니다. JSON2 라이브러리의 stringify 메소드를 사용하여이를 수행 할 수 있습니다.
이것을 문자열로 변환해야합니다. JSON2 라이브러리의 stringify 메소드를 사용하여이를 수행 할 수 있습니다.
http://www.json.org/
http://www.json.org/js.html
코드는 다음과 같습니다.
var myJSONText = JSON.stringify(myObject);
그래서
['Location Zero', 'Location One', 'Location Two'];
될 것입니다:
"['Location Zero', 'Location One', 'Location Two']"
이 문제를 서버에서 처리하는 방법에 대해서는 PHP 전문가에게 문의해야합니다. 나는 다른 해결책이 친밀한 해결책이라고 생각한다.
유사한 방식으로 서버에서 데이터를 반환 할 수 있습니다. 나는. 그것을 객체로 되돌릴 수 있습니다.
var myObject = JSON.parse(myJSONString);
-
==============================
4.나는 이것에 대답하기에는 너무 늦을 지 모른다는 것을 안다. 그러나 이것은 나를 위해 훌륭한 방법으로 일했다.
나는 이것에 대답하기에는 너무 늦을 지 모른다는 것을 안다. 그러나 이것은 나를 위해 훌륭한 방법으로 일했다.
그게 ... 당신이 자유롭게 당신의 데이터를 사용할 수 있습니다.
다차원 배열과 단일 배열은 일반 배열로 처리됩니다. 그들에게 접근하기 위해서는 정상적인 $ foo [4]를 수행하십시오.
연관 배열 (javascript 객체)은 PHP 객체 (클래스)로 처리됩니다. 그것들에 접근하려면 $ foo-> bar와 같은 클래스를 사용하십시오.
-
==============================
5.JQuery Serialize 함수 사용
JQuery Serialize 함수 사용
http://docs.jquery.com/Ajax/serialize
-
==============================
6.나는 이렇게되어야한다.
나는 이렇게되어야한다.
$.post(submitAddress, { 'yourArrayName' : javaScriptArrayToSubmitToServer }, function(response, status, xhr) { alert("POST returned: \n" + response + "\n\n"); })
-
==============================
7.이것은 나를 위해 일했다 :
이것은 나를 위해 일했다 :
$.ajax({ url:"../messaging/delete.php", type:"POST", data:{messages:selected}, success:function(data){ if(data === "done"){ } info($("#notification"), data); }, beforeSend:function(){ info($("#notification"),"Deleting "+count+" messages"); }, error:function(jqXHR, textStatus, errorMessage){ error($("#notification"),errorMessage); } });
그리고 이것은 PHP를위한 것입니다 :
$messages = $_POST['messages'] foreach($messages as $msg){ echo $msg; }
-
==============================
8.배열 피연산자를 추가하는 PHP 내장 함수를 원하는 변수 이름에 사용하십시오.
배열 피연산자를 추가하는 PHP 내장 함수를 원하는 변수 이름에 사용하십시오.
다음과 같이 Javascript 배열에 값을 추가하면 :
acitivies.push('Location Zero'); acitivies.push('Location One'); acitivies.push('Location Two');
다음과 같이 서버에 전송할 수 있습니다.
$.ajax({ type: 'POST', url: 'tourFinderFunctions.php', 'activities[]': activities success: function() { $('#lengthQuestion').fadeOut('slow'); } });
activities [] 주변의 따옴표를 주목하십시오. 값은 다음과 같이 사용할 수 있습니다.
$_POST['activities'][0] == 'Location Zero'; $_POST['activities'][1] == 'Location One'; $_POST['activities'][2] == 'Location Two';
from https://stackoverflow.com/questions/2013728/passing-javascript-array-to-php-through-jquery-ajax by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
URL에 Ajax 요청을 표시하는 방법은 무엇입니까? (0) | 2018.09.20 |
---|---|
PHP, jQuery 및 AJAX를 사용하여 여러 파일을 업로드하는 방법 (0) | 2018.09.20 |
\ w와 \ b 정규식 메타 문자의 차이점 (0) | 2018.09.20 |
PHP를 사용하여 디렉토리에있는 모든 폴더 하위 폴더와 파일 나열 (0) | 2018.09.20 |
MySQL 데이터베이스 테이블의 값을 웹 페이지의 HTML 테이블에 표시 (0) | 2018.09.20 |