PHPにjqueryのAjaxの配列を渡す動作しません

スティーブ:

私は、これは、重複する必要があります知っています。しかし、私は私の人生のために、それは間違って起こっている場所を把握することはできません。私はjqueryの内の配列に参加し、それを文字列として渡すと、それを爆発、JSONのエンコード/デコードを使用して、直接配列をpasssingしようとしました....が、私はちょうど、データパススルーを使用して実行するために私のPHPを取得することはできません。助けて?!

そこで私は推測していた場合は、引用符で起こって何かがあるが、私は三振しています。私は配列を取得ラインアウトコメント、およびコメントを外し、私はリストを設定し、それを爆発2行場合、期待どおり、スクリプトはそれ自身と作品によって呼び出すことができます。しかし、それの現在の形で、それは何もしません。私はどちらかの言語について十分に知らないので、私は確信して私は何かを簡単に欠けているんです。

EDIT:UPDATE:私は使用することができました。

var_dump($_POST);
die();

ネットワークコンソールで、次の応答を取得します。この小屋の光は、アレイを通過したときにスクリプトを実行するために失敗している理由をしていますか?

array(1) {
  ["download_listArray"]=>
  array(3) {
    [0]=>
    string(6) "7391-1"
    [1]=>
    string(6) "7392-2"
    [2]=>
    string(6) "7393-3"
  }
}

完全期すために、ここではJSON.stringifyメソッドを使用して、同じ応答は次のとおりです。

array(1) {
  ["download_listArray"]=>
  string(26) "["7391-1","7392-2","7393-3"]"
}

jqueryの:

console.log(download_list);   \\ gives: ["7391-1", "7392-2", "7393-3"]

 $.ajax({
            type: "POST",
            url: "zip_download.php",
            data: {download_listArray:download_list},

            success: function(){
            alert("OK");
        }
        });

PHP:

<?php
$sample_name_list = $_POST['download_listArray'];

//$sample_name_list = "7391-1,7392-2,7393-3";    #If I use these two lines, the script runs as expected
//$sample_name_list = explode(",", $sample_name_list);

foreach ($sample_name_list as $i => $sample_name){

   //do stuff
}
Touhidulイスラム教:

あなたの更新に対応して:

完全期すために、ここではJSON.stringifyメソッドを使用して、同じ応答があります

array(1) {
  ["download_listArray"]=>
  string(26) "["7391-1","7392-2","7393-3"]"
}

あなたの与えられたデータに基づいて、あなたの問題を解決するために、私の更新されたコードを見つけてください

PHP

<?php

$_POST['download_listArray'] = '["7391-1","7392-2","7393-3"]';

//var_dump($_POST['download_listArray']); die();

$sample_name_list = json_decode(stripslashes($_POST['download_listArray']));

foreach ($sample_name_list as $i => $sample_name){

   echo $sample_name.'<br>';
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=275082&siteId=1