Javascript ajaxpost返回成功,但没有';t更新JSON文件
我正在尝试向*.JSON文件添加数据,该文件只有以下文本:{}。Ajax返回“success”,但文件仍与以前一样。我还注意到,如果JSON文件为空,则根本不会发生任何事情。请帮我找到解决办法。我不知道问题出在哪里。也许,你知道问题的原因是什么。多谢各位 ajax的代码:Javascript ajaxpost返回成功,但没有';t更新JSON文件,javascript,ajax,json,Javascript,Ajax,Json,我正在尝试向*.JSON文件添加数据,该文件只有以下文本:{}。Ajax返回“success”,但文件仍与以前一样。我还注意到,如果JSON文件为空,则根本不会发生任何事情。请帮我找到解决办法。我不知道问题出在哪里。也许,你知道问题的原因是什么。多谢各位 ajax的代码: $.ajax({ type: "POST", url: "data/test.json", data: JSON.stringify({ "userName": "1", "password"
$.ajax({
type: "POST",
url: "data/test.json",
data: JSON.stringify({ "userName": "1", "password" : "1" }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){alert("success");},
fail: function(errMsg) {alert("fail");
}
});
单独使用jquery保存json文件是不可能的。
您必须实现一个服务器端代码才能工作。您的代码中有一些错误,首先没有失败,只有错误或失败。试试这个,告诉我是否有用。
我认为没有办法使用javascript/jquery将数据保存到文件中(出于安全原因),如果您想获取或存储服务器端所需的信息,如果您只想存储少量数据,则可以使用cookie或localStorage(“Key”,“Value As Json”) 您可以按如下方式将数据保存到本地存储:
$.get("data/test.json", null, function (data) {
localStorage.setItem("data", JSON.stringify(data));
});
但不幸的是,正如我前面所说,您无法使用javascript/jquery保存到文件,请尝试使用localStorage作为临时存储。最好的解决方案是安装denver并在服务器端使用PHP代码 这是js文件中的代码
deleteNewsItem: function(newsId, callback, scope) {
var dataPath = this.dataPath;
$.getJSON(dataPath + '/delete-news.php?id='+newsId, function(rawHeadlines) {
var headlines = [];
$.each(rawHeadlines, function(index, rawHeadline) {
headlines.push(rawHeadline.id);
}
});
if (callback) {
callback.call(scope, headlines);
}
};
这是“delete_news.php”文件中的代码
POST请求不会这样做。您需要服务器端代码。SLaks,谢谢您的回答。但是,如果任务不包含服务器端代码,我应该怎么做才能将数据保存到文件中?我肯定你不能在客户端进行归档,但是这里有一些方法,正如你所说的,你没有服务器端Ajax请求,请求的是服务器或外部源(API,其他网站)它充当服务器端。@anna_manzhula你能告诉我返回了什么警报(数据)吗?谢谢你的回答。但是,如果任务不包含服务器端代码,我应该如何将数据保存到文件中?或者我怎样才能找到这个代码。。。对不起,我对JS很陌生。谢谢你的回答。一切都没有改变。结果是一样的。我认为,如果您想要获取或存储服务器端所需的信息,则无法使用javascript/jquery将数据保存到文件中(出于安全原因),如果您仅尝试存储少量数据,则可以使用cookie或localStorage(“Key”,“Value As Json”);是的,我正在尝试保存ItemList中已删除项目的ID编号。项目的结构假定我应该将此数据存储到JSON文件中。。或者我可以将此文件放入本地存储?localStorage以字符串表示形式保存数据,即您可以在其中保存json,但不能保存文件。
<?php
$deleteId = isset($_GET['id'])?$_GET['id']:false;
if ($deleteId){
$content = file_get_contents('delete-news.json');
$json = json_decode($content);
$newData = array();
foreach($json as $key=>$id){
$newData []= (array)$id;
}
$newData []= array("id"=>(int)$deleteId);
$fill_view = json_encode($newData);
file_put_contents('delete-news.json', ($fill_view));
echo $fill_view;
} else {
echo json_encode(array());
}
exit();
?>