ОШИБКА SyntaxError: Неожиданный токен S в JSON в позиции 0? - PullRequest
0 голосов
/ 06 ноября 2019

Я использовал PHP для публикации кода в API. Я не знаю, как получить данные в TS файл, используя подписку (данные). Но в сети консоли у меня есть вывод записи в формате JSON.

home.ts

workerdailyreport(){
    return new Promise((reslove) => {
        let body = {
            aksi: 'update_workerdailyreport',
            full_nuts: this.x,
            half_nuts: this.y,
            rejected_nuts: this.z,
            id: this.id,
        };
        this.postPvdr.postData(body, 'proses-api.php').subscribe(data => {
            console.log(data);
            for (let passdata of data.result) {
                this.passdata.push(passdata);
            }
                reslove(true);
        });
    });
}

postPvdr.postData

postData(body, file) { 
    let type = "application/json; charset=UTF-8"; 
    let headers = new Headers({ 'Content-Type': type }); 
    let options = new RequestOptions({ headers: headers }); 

    return this.http.post(
        this.server + file, 
        JSON.stringify(body),
        options
    ).map(res => res.json()); 
}

proses-api.php

if($postjson['aksi']=='showwork'){
    $data= array();
    $job_id = $postjson['id'];
    $batchkpr = 0;
    $tempwight = 0;
    $batchNmae= 0;
    $name = '';
    $select_job="SELECT * FROM invoice WHERE job_id=".$job_id;
    $querySelectjob = mysqli_query($mysqli,$select_job);

    while($row = mysqli_fetch_array($querySelectjob)){ 
        //check batch KPR is empty
        $select_batch="SELECT * FROM batch WHERE batch_id='".$row['batch_id']."' AND deleted_status='0'";

        $querysselect_batch = mysqli_query($mysqli,$select_batch); 

        while($fletchbatch = mysqli_fetch_assoc($querysselect_batch)){ 
            $batchkpr= $fletchbatch['kpr'];
            $workerbatch= $fletchbatch['created_at'];
            $batchNmae= date("d-m-Y",strtotime($workerbatch));
        }
        //select user name
        echo $select_name="SELECT * FROM user_table WHERE user_id='".$row['user_id']."' AND deleted_at='0'";
        $querysselect_name = mysqli_query($mysqli,$select_name); 
        echo $count =mysqli_num_rows($querysselect_name);
        while($fletchname = mysqli_fetch_assoc($querysselect_name)){ 
            $name= $fletchname['f_name'].' ' .$fletchname['l_name'];
        }

        if($batchkpr == "0.00"){
            echo $result = json_encode(array('success'=>false, 'msg'=>'! First Update KPR in Batch'));
        }
        else{  
            $weight= 3 * $row['weight']; 
            $full_nuts=$postjson['full_nuts'];
            $half_nuts=$postjson['half_nuts']; 
            $rejected_nuts=$postjson['reject_nuts']; 
            $shell= $weight-($full_nuts+$half_nuts+$rejected_nuts);
            $newwight= $tempwight-$weight;
            // calculate KPR 
            $kpr=(($full_nuts+$half_nuts)/$weight)*100;
            $data[] = array(
                'name' => $name,
                'batchname' => $batchNmae,
                'weight' => $row['weight'],
                'full_nuts' => $full_nuts,
                'half_nuts'=> $half_nuts,
                'rejected_nuts'=> $rejected_nuts,
                'shell'=>$shell,
                'kpr'=>$kpr,
            );
        }
    }

    if($querySelectjob) $result = json_encode(array('success'=>true, 'result'=>$data));
    else $result = json_encode(array('success'=>false));

    echo $result;
}

Ошибка Я получил ошибку в консоли:

enter image description here

1: введите описание изображения здесь

, но я получил правильные данные в файле сетевого API

{"success":true,"result":[{"name":"SASI A","batchname":"02-11-2019","weight":"10","full_nuts":"5","half_nuts":"3","rejected_nuts":"1","shell":21,"kpr":26.666666666666668}]}

Я не знаю, где и сделал ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...