Я пытаюсь отправить данные на сервер несколько раз, в зависимости от размера массива. L oop правильно отправляет данные один раз, но не после этого. Мой код:
$id = "uuid" //dynamic
$username = "emailadd@example.com";
$password = "password";
$serverurl = "http://0.0.0.0:8080/api/v1/experiments/". $id ."/buckets";
$alloc = floor((1 / sizeof($arrayAsBigAsValueArray)) * 100) / 100;
$sum = 0;
for ($x = 0; $x < sizeof($valuearray); $x++){
$datasobj = array(
"label" => $arrayAsBigAsValueArray[$x],
"allocationPercent" => $alloc,
"payload" => json_encode(array('mykey'=>$valuearray[$x]),JSON_UNESCAPED_SLASHES)
);
if($x< sizeof($valuearray)-1){
$sum += $alloc;
}
else{
if((1 - $sum) != 0){
$datasobj ["allocationPercent"] = (1 - $sum);
}
}
$headers = array(
"Content-type: application/json",
"Authorization: Basic " . base64_encode("$username:$password")
);
$ch = curl_init($serverurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $datasobj);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result2 = curl_exec($ch);
curl_close($ch);
}
Эта функция вызывается из WordPress admin- ajax, и ее вызывает функция javascript. Я получаю ошибку 400, когда X> 0. Как это исправить? Я пытаюсь использовать API-интерфейс Wasabi A / B, который можно найти здесь .