我只想用最简单/最简单的方法从用户在我的服务器上输入的数据“POST”从AJAX表单中获取数据。
因此,如果用户在页面上的输入表单中留下他们的名字,那么AJAX POST将数据发送到我服务器上的JSON文件。
这可能吗?这是获取输入数据的最快方式吗?
提前致谢!
*有人可以告诉我为什么这会被贬低?我违反了任何条款吗?我想在将来知道。谢谢。 :/
答案 0 :(得分:6)
Ajax文件直接无法写入服务器中的文件。但您可以通过在服务器上创建简单的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);
?>
答案 1 :(得分:3)
Ajax是一个或多或少只是意味着“从JavaScript发出HTTP请求”的术语。
您可以使用它来发出POST请求。您可以使用它来制作body of that request a JSON text。
您无法发送到文件,只能发布到网址。您需要服务器端代码来负责获取请求中的数据并将其写入文件。
答案 2 :(得分:1)
是。这是一个相当常见的问题,您也可以查看以下问题:
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文件的输出
答案 3 :(得分:1)
很抱歉在这里跳得很晚。
var name = $('#name').val();
$.ajax({
url : 'somefile.php',
method : 'post',
data : { 'name': name },
success : function( response ) {
console.log( response );
}
});
这样就可以了。
答案 4 :(得分:0)
您无法单独使用JavaScript写入任何文件。只是cookie或本地(或会话)存储。
答案 5 :(得分:0)
AJAX POST将数据发送到服务器。数据采用JSON格式。你已经理解了这一部分。
在服务器上,需要有一个API来使用此JSON并将其写入文件,或者更好地将其存储在数据库中。
更多问题:
可以直接写入文件吗?没有
API可以写入文件吗?是的,技术上可行,但不可取
其他人如何做到这一点?他们接受JSON响应并将其写入服务器端代码中的数据库。