我可以使用AJAX'POST'将数据发布到我服务器上的JSON文件中吗?

时间:2015-05-17 08:57:57

标签: javascript jquery ajax json polymer

我只想用最简单/最简单的方法从用户在我的服务器上输入的数据“POST”从AJAX表单中获取数据。

因此,如果用户在页面上的输入表单中留下他们的名字,那么AJAX POST将数据发送到我服务器上的JSON文件。

这可能吗?这是获取输入数据的最快方式吗?

提前致谢!

*有人可以告诉我为什么这会被贬低?我违反了任何条款吗?我想在将来知道。谢谢。 :/

6 个答案:

答案 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响应并将其写入服务器端代码中的数据库。

相关问题