私はこの言語スタックを使い慣れていません...サーバー上の.jsonファイルにajax投稿のデータが埋め込まれていない理由を理解しようとしています。以下は2つの機能です。最初はブラウザで動作するjquery関数で、もう1つはjqueryによって呼び出されるPHP関数です。サーバ上のディレクトリのファイルアクセス権は、/ var/wwwで読み書き可能ですjQuery AJAXサーバーファイルにJSONデータを書き込まない投稿
現在のところ、php関数がjsonデータを書き込む必要がある、長さゼロのファイルpost_Sched.jsonがあります。
<script>
function theFunction() {
console.log("about to post to post_Sched.php")
console.log("post_Sched_jstringed = " + post_Sched_jstringed);
request = $.ajax({
url: "post_Sched.php",
type: "POST",
data: { 'data': post_Sched_jstringed },
//dataType: "JSON",
success: function (response) {
// response from php
$("#jresult").text(JSON.stringify(response));
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
console.log("just posted to post_Sched.php")
}
</script>
</head>
<body>
<h2>JSON Post Response: </h2>
<div id="jresult"></div>
</body>
</html>
と
<?php
$data = $_POST['data'];
$file = fopen('post_Sched.json','w');
fwrite($file, $data);
fclose($file);
echo json_encode($data);
?>
P.S. post_Sched.phpと呼ばれるPHPファイルそこJSONデータのためのjQueryの関数内のグローバル変数であり、私は適切なstringify'ed結果を見ることができますので、私はjsonDatが正しいことを知っている:
var post_Sched_jstringed = JSON.stringify(Sched);
開発ツール・コンソールはparsererrorのにSyntaxErrorを示しています。予期しないトークン< 0番のJSONで
誰でも問題を説明し、解決する方法はありますか?
ありがとうございます!
から
と
を交換してうまくいけば、あなたのPHPコードでDOM準備ハンドラとconsole.logsを持っていませんか? – adeneo
はい、明らかに私はしました。私は現在の状態を表示するために、ここにPHPを編集しました。私はまた、ここに表示されているものを実行し、まだ動作していません。 – Walt
"ところで、私はObjectTextText(chromeの開発者ツール)のPHP関数全体を見ます。"というように、PHP関数をHTMLのように返します。私はPHPを知らないのですが、それを読んでコードを実行していないと、が表示されない、またはそれがどうなっているのですか、その意図ですか? –