我可以使用 AJAX 'POST' 将数据发布到我服务器上的 JSON 文件吗?
Posted
技术标签:
【中文标题】我可以使用 AJAX \'POST\' 将数据发布到我服务器上的 JSON 文件吗?【英文标题】:Can I use AJAX 'POST' to post data to a JSON file on my server?我可以使用 AJAX 'POST' 将数据发布到我服务器上的 JSON 文件吗? 【发布时间】:2015-07-28 21:22:20 【问题描述】:我只想要最简单/最简单的方法来使用“POST”用户在我的服务器上输入的数据从 AJAX 表单中获取我的数据。
因此,如果用户在页面上的输入表单中留下他们的姓名,那么 AJAX POST 会将数据发送到我服务器上的 JSON 文件中。
这可能吗?这是获取输入数据的最快方法吗?
提前致谢!
*有人能告诉我为什么这被否决了吗?我违反了任何条款吗?我只是想知道将来。谢谢。 :/
【问题讨论】:
JSON 只是一个文本文件,你需要使用服务器端的编程语言接收 AJAX 发送的数据并将其存储在一个文件中。 【参考方案1】:Ajax 文件不能直接写入服务器中的文件。但是您可以通过在您的服务器上创建 simple php 脚本比如 savejson.php
来实现这一点。您的表单:
<form>
<input type="text" id="name" name="name">
<button type="submit" id="submit-btn">
</form>
<script>
$('#submit-btn').on('click', function(e)
e.preventDefault();
if( $('#name').val() )
$.ajax(
url : 'savejson.php',
method : 'post',
data : 'name': $('#name').val() ,
success : function( response )
alert( response );
);
);
</script>
你的 savejson.php:
<?php
$fp = fopen('names.json', 'w');
fwrite($fp, json_encode($_POST['name']));
fclose($fp);
?>
【讨论】:
Polymer 可以与 PHP 一起正常工作吗? - 对不起,如果菜鸟问题。【参考方案2】:Ajax 这个术语或多或少只是意味着“从 javascript 发出 HTTP 请求”。
您可以使用它来发出 POST 请求。你可以用它来制作body of that request a JSON text。
您不能发布到 文件,只能发布到 URL。您将需要负责获取请求中的数据并将其写入文件的服务器端代码。
【讨论】:
【参考方案3】:是的。这是一个相当常见的问题,您最好也看看以下问题:
How can I use JQuery to post JSON data?
Jquery Ajax Posting json to webservice
本质上,您使用客户端语言 (Javascript) 向后端发送 POST 请求。自然,您将需要一种后端语言(例如 PHP 或 node.js)。
我举个例子:
JS(jQuery):
$.post("http://yourURL.com/backend.php",
data:
"name" :"John Smith",
"vehicle":"TARDIS"
).success(function(response)
console.log(response)
//do something with the response
);
PHP
<?php
$data = json_decode($_POST['data'], true);
$name = $data['name'];
$vehicle = $data['vehicle'];
echo "Welcome $vehicle-driving $name!";
?>
您的 PHP 尤其应该包括错误检查等,但这对于一个简单的示例就足够了。
在您的控制台中,执行 AJAX 请求后,您将看到以下内容:
Welcome TARDIS-driving Doctor!
PHP 文件的输出是什么
【讨论】:
【参考方案4】:抱歉来晚了。
var name = $('#name').val();
$.ajax(
url : 'somefile.php',
method : 'post',
data : 'name': name ,
success : function( response )
console.log( response );
);
这样就可以了。
【讨论】:
【参考方案5】:您不能单独使用 JavaScript 写入任何文件。只是 cookie 或本地(或会话)存储。
【讨论】:
【参考方案6】:AJAX POST 向服务器发送数据。数据为 JSON 格式。这部分你已经明白了。
在服务器上,需要有一个 API 来使用此 JSON 并将其写入文件,或者更好地将其存储在数据库中。
更多问题: 它可以直接写入文件吗?没有 API可以写入文件吗?是的,它在技术上是可行的,但不可取 其他人是如何做到的?他们接受 JSON 响应并将其写入服务器端代码中的数据库。
【讨论】:
以上是关于我可以使用 AJAX 'POST' 将数据发布到我服务器上的 JSON 文件吗?的主要内容,如果未能解决你的问题,请参考以下文章
当我将 var 从 ajax 发送到 php 时,如果 (isset $_Post[]) 不起作用
在 Django 视图中调用“request.POST”时,Ajax POST 不发送数据