【问题标题】: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 发送的数据并将其存储在一个文件中。

标签: javascript jquery ajax json polymer


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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-15
            • 2014-06-01
            • 2018-04-17
            • 2019-02-19
            • 1970-01-01
            相关资源
            最近更新 更多