-1

ajaxリクエストを介してjavascriptからphpファイルにいくつかの値を渡し、phpを使用して各結果(forループから)を配列に格納しようとしています。

queryData={"data":{"data_string":{"data":"medicine","default_field":"Content"}}}
testArgument=0;

$.ajax({
    url:"test/queryManipulate.php",
    type: 'POST',
    datatype: 'json',
    data: {field : queryData, start : testArgument},
    success:function(jsonQuery)
    {
       alert(jsonQuery);
    }
});


<?php

    $i=0;
for ($from = 0; $from <= 50; $from+=10)
{
$object=json_decode($_POST["field"]); 
$object->from=$from; 
$object=json_encode($object);
$ch = curl_init("http://localhost:9200/algotree//_search");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $object);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$test= curl_exec($ch);
curl_close ($ch);
$newArray[$i]= $test;
$i++;
echo $newArray[2];
}
?>

MY for ループが機能しません。私はそれを正しい方法で使用していますか?また、各結果をphpの配列に保存するにはどうすればよいですか?

4

2 に答える 2

0

最初のループは

    <?php
        for($from = $_POST["start"]; $from<50;$from+=10)
        {
             // other code
        }

$ from+10ではなく$from+=10であることに注意してください。

于 2012-07-17T04:25:51.583 に答える
0

JavaScript では、json 文字列に変換する前に、配列とオブジェクトを使用してデータをフォーマットする必要があります。

data_string  = new Object();
data = new Array();

data_string[data] = "medicine";
data_string[default_field] = "Content";

data.push(data_string);

次に、データを json にエンコードすると、次のような結果になります

{"data":{"data_string":{"data":"medicine","default_field":"Content"}}}

次に、ajaxを介してphpファイルに渡し、jsonを使用してデコードします

json_encode(data);PHPで

その後、さらに処理を行います..

于 2012-07-17T05:58:44.810 に答える