gpt4 book ai didi

javascript - 使用 JSON 在 php 中附加一个文本文件,不起作用并且没有显示错误消息

转载 作者:行者123 更新时间:2023-11-29 23:41:22 27 4
gpt4 key购买 nike

我有一个 JavaScript 函数,当有人点击一个 div 时,它会调用一个参数。 JavaScript 函数从参数中生成一个 JSON 字符串,然后向采用此 JSON 字符串的 php 文件生成一个 XMLHttpRequest (AJAX),在 JSON 字符串中找到数字,然后将该数字存储在服​​务器上的文本文件中。

然而,当我在我的服务器上运行它时,没有数字附加到文本文件并且似乎什么也没有发生。不显示任何错误消息。 “谢谢你!”消息确实显示在 div 中,这意味着就绪状态确实变为 4,状态变为 200。

带参数调用JavaScript函数的html代码:

<li id="star1" onclick="saveRating(1)"><i class="fa fa-star" aria-hidden="true"></i></li>

创建 JSON 字符串并调用 php 文件的 javaScript 函数:

function saveRating(num){
obj = { "score":num };
dbParam = JSON.stringify(obj);
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
//a "Thank You!" message is displayed in the div
}
};
xmlhttp.open("GET", "php/storeRating.php?x=" + dbParam, true);
xmlhttp.send();
}

打开文本文件的 PHP 文件,在 JSON 字符串中搜索数字并将数字附加到文本文件:

<?php
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false); //gets the param that was sent and stores it in $obj

//opens text file and sets to appending the file.
$myfile = fopen("ratingNumbers.txt", "a");

//goes through string and if it finds a number it adds it to the text file.
while(false !== ($char = fgetc($obj))){
if($char == 1){
fwrite($myfile, $char);
}if($char == 2){
fwrite($myfile, $char);
}if($char == 3){
fwrite($myfile, $char);
}if($char == 4){
fwrite($myfile, $char);
}if($char == 5){
fwrite($myfile, $char);
}
}

//closes the file
fclose($myfile);
?>

[edit] 文本文件和 PHP 文件都有写入权限。

最佳答案

我在您的脚本中发现了 2 个错误。

  1. 将文件句柄放在给定行while(false !== ($char = fgetc($myfile))){

  2. $myfile = fopen("ratingNumbers.txt", "a+");//读写打开;

关于javascript - 使用 JSON 在 php 中附加一个文本文件,不起作用并且没有显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45144448/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com