복붙노트

[JQUERY] jQuery를 $ 아약스를 통해 PHP로 자바 스크립트 배열을 전달

JQUERY

jQuery를 $ 아약스를 통해 PHP로 자바 스크립트 배열을 전달

해결법


  1. 1.

    data: { activitiesArray: activities },
    

    즉입니다! 이제 PHP에 액세스 할 수 있습니다 :

    <?php $myArray = $_REQUEST['activitiesArray']; ?>
    

  2. 2.당신은 그것을 보내기 전에 JSON과 같은 배열을 인코딩 할 수 있습니다, 또는 당신은 단지 다른 쪽 끝에서 약간의 쓰레기를 얻을 수 있습니다.

    당신은 그것을 보내기 전에 JSON과 같은 배열을 인코딩 할 수 있습니다, 또는 당신은 단지 다른 쪽 끝에서 약간의 쓰레기를 얻을 수 있습니다.

    당신이 보내는 모든 배열이기 때문에, 당신은 할 수 있습니다 :

    data: { activities: activities }
    

    이는 자동으로 배열을 변환합니다.

    자세한 내용은 여기를 참조하십시오.


  3. 3.당신은 문자열로이 설정해야합니다. 당신은 JSON2 라이브러리의 캐릭터 라인 화 방법을 사용하여이 작업을 수행 할 수 있습니다.

    당신은 문자열로이 설정해야합니다. 당신은 JSON2 라이브러리의 캐릭터 라인 화 방법을 사용하여이 작업을 수행 할 수 있습니다.

    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. 4.나는이 대답을 너무 늦게 수 있습니다 알고 있지만, 이것은 좋은 방법으로 나를 위해 일한 :

    나는이 대답을 너무 늦게 수 있습니다 알고 있지만, 이것은 좋은 방법으로 나를 위해 일한 :

    그거야 그 ... 당신은 자유롭게 데이터를 사용할 수 있습니다.

    다차원 배열과 하나의 배열은 일반 배열로 처리됩니다. 액세스에 그냥 일반 $ foo는 [4] 않습니다.

    연관 배열 (자바 스크립트 객체) PHP는 객체 (클래스)로 처리됩니다. 접근로는 클래스처럼 수행 막대 $ foo-을>.


  5. 5.나는 다음과 같이해야합니다 :

    나는 다음과 같이해야합니다 :

    $.post(submitAddress, { 'yourArrayName' : javaScriptArrayToSubmitToServer },
      function(response, status, xhr) {
        alert("POST returned: \n" + response + "\n\n");
      })
    

  6. 6.JQuery와 직렬화 기능을 사용하여

    JQuery와 직렬화 기능을 사용하여

    http://docs.jquery.com/Ajax/serialize


  7. 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. 8.는 PHP가 내장 추가 배열의 기능 피연산자 원하는 변수 이름을 사용합니다.

    는 PHP가 내장 추가 배열의 기능 피연산자 원하는 변수 이름을 사용합니다.

    다음과 같이 우리는 자바 스크립트 배열에 값을 추가하는 경우 :

    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');        
           }
    });
    

    활동 주위에 따옴표를 주목하라 []. 값은 다음과 같이 사용할 수 있습니다 :

    $_POST['activities'][0] == 'Location Zero';
    $_POST['activities'][1] == 'Location One';
    $_POST['activities'][2] == 'Location Two';
    

  9. 9.PHP는 문자열 같은 값을 읽고 있기 때문이다. 난, 난 그냥 내 PHP에서이 작업을 수행 (미세 또한 이전 답변에서와 같은) 개체로 내 데이터를 전달하지 않으려면 :

    PHP는 문자열 같은 값을 읽고 있기 때문이다. 난, 난 그냥 내 PHP에서이 작업을 수행 (미세 또한 이전 답변에서와 같은) 개체로 내 데이터를 전달하지 않으려면 :

     $activitiesString = $_POST['activitiesArray'];
     $activitiesArray = (explode(",",$activitiesString));
    

    마지막 줄마다 쉼표 후 비트에 문자열을 분할합니다. 이제 $ activitiesArray 또한 배열입니다. 더 쉼표 (자바 스크립트 배열에 하나 개의 요소)가없는 경우에도 그것은 작동합니다.

    코딩 해피!

  10. from https://stackoverflow.com/questions/2013728/passing-javascript-array-to-php-through-jquery-ajax by cc-by-sa and MIT license