Angular 2を使用しています.jsonデータをPHPファイルに送信したいとします。投稿要求を使用してデータを送信しようとすると、「SyntaxError:JSON.parse:JSONデータの第1行第1列の予期しない文字」と表示されます。ネットワークタブを見ると、ステータス200と表示され、送信されます。私は何が間違っているのか分かりませんが、誰かがこれを見ることができたらうれしいです。ここで角2:SyntaxError:JSON.parse:JSONデータの1行目のカラム1の予期しない文字
は、私はPOSTリクエスト私はこのように私のコンポーネントでそれを使用
sendData(data): Observable<Object>{
let url = "test.php";
let encoded_data = JSON.stringify({data});
console.log('encoded', encoded_data);
let headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8' });
let options = new RequestOptions({ headers: headers });
return this.http.post(url, encoded_data).map(
(res: Response) => res.json() || {}
);
}
のために使用していたデータサービスです。
sendDatatoServer(){
this.dataService.sendData(this.data)
.subscribe(
data => {
console.log('the data', data);
},
(err) => console.log(err),
() => console.log("data success!!")
);
}
それが文字列化されたときに私のJSONデータはいくらか次のようになります。ここで
{"data": [{"title": "sometext" }, {"title": "sometext" }]}
は、私がこれまで持ってtest.phpをファイルです。これが正しいかどうかはわかりませんが、それは何の応答もしません。
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
echo $request;
'$ request'はオブジェクトですが、' echo $ request; 'は何を表示すると思いますか? – Barmar
@Barmar鍵をエコーしようとしましたが、エラーが発生し続けます。 – LadyT
問題はリクエストではなく、レスポンスです。 res.json()にレスポンスをマップします。レスポンスにhtmlが含まれていると、解析エラーがスローされます。これは、Webサーバーが例外を返すときに簡単に発生します。 – Matt