2

Postman と jQuery の両方で、フォームで応答を取得しています

{"key1": "value1", "key2": "value2"}null

その末尾の null は、クライアント側で解析しようとするものを台無しにしており、それがどこから来ているのかわかりません。error_logエンコードする前に JSONをエンコードechoすると、末尾に null がないため、文字列ターミネータだと思いますが、PHP が null で終わる文字列を使用しているとは思いませんでした。これらのヌルを取り除くにはどうすればよいですか?

エンコードされて返されるオブジェクト:

public function jsonSerialize()
{
    return [
        'internal_id' => $this->internal_id, //int
        'friendly_name' => $this->friendly_name, //string
        'external_id' => $this->external_id, //string
        'picture' => $this->picture //string
    ];
}

実際の return ステートメントはecho(json_encode($retval));

4

2 に答える 2

3

PHP ファイルが実行されたら、手動で終了するか、エコーする代わりに戻る必要があります。そうしないと、NULL暗黙的に戻り、すべてが台無しになります。学んだ教訓。

于 2018-06-15T15:07:06.967 に答える