2017-06-17 9 views
-2

AJAXコールを使用してサーバーからPHPファイルをリクエストしています。 PHPファイルにはいくつかのオブジェクトがあります。 JSON.parse()を使用して結果をJavaScriptオブジェクトに変換しています。サーバー上のPHPファイルからJSONとしてデータを取得する

Uncaught SyntaxError: Unexpected end of JSON input 
at JSON.parse (<anonymous>) 
at XMLHttpRequest.xmlhttp.onreadystatechange (index.php:15) 

私は私のApacheサーバが、プログラムが動作しない理由は分からない、とPHPは罰金を実行している:だから問題は、私は、ブラウザのコンソールで次のエラーが表示されるプログラムを実行した後です。 私が上で働いているプログラム:

のindex.php:

<p id="demo"></p> 

<script> 

var xmlhttp = new XMLHttpRequest(); 

xmlhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     myObj = JSON.parse(this.responseText); 
     document.getElementById("demo").innerHTML = myObj.name; 
    } 
}; 
xmlhttp.open("GET", "demo_file.php", true); 
xmlhttp.send(); 

</script> 

demo_file.php:

<?php 
$myObj->name = "John"; 
$myObj->age = 30; 
$myObj->city = "New York"; 

答えて

1

$ myObjが初期化されていないという警告が表示されることがあります:

<?php 
header('Content-type: text/json'); 
$myObj = new stdClass; 
$myObj->name = "John"; 
$myObj->age = 30; 
$myObj->city = "New York"; 
echo json_encode($myObj); 
+0

ありがとうございます。ハグしたいです! –

4

あなたはjson_encode()機能をPHPでJSONを構築することができます:

<?php 

$myObj = new stdClass(); 
$myObj->name = "John"; 
$myObj->age = 30; 
$myObj->city = "New York"; 

echo json_encode($myObj); 
+0

モハマドハメダニ、あなたの答えをthnaks。私はすでにそれを知っています。しかし、私はファイルからデータを取得するXMLHTTP要求をしたい。この場合、PHPファイルがサーバに置かれ、Javascriptはクライアントプログラムです。つまり、自分のプログラムで何をしようとしているのか、動作していないのでしょうか。あなたはそれで私を助けることができますか? –

+0

問題を解明したことはありますか? –

関連する問題