【问题标题】:Add rows to csv file with ajax使用ajax将行添加到csv文件
【发布时间】:2014-02-07 18:21:29
【问题描述】:

我正在尝试将新的数据行添加到我现有的 csv 文件中。我已经设法使用以下方法获取 csv 文件中的现有行:

             $.ajax({
                type: "GET",
                url: "gigs.csv",
                dataType: "text",
                success: function(data) {processData(data);}
             });

所以现在我正在尝试添加一个新行:(var gig 只是测试数据)

<script>
var gig='10;Magnus;THisMagnus;UKA;2014-12-12;18.00';

            $.ajax({
                type:'POST',
                url:'gigs.csv',
                contentType: "text/csv",
                data: gig,
                success: function(data) {alert("Success")}
            });
</script>

csv 文件是; 分隔的,我知道这是事实。当我运行代码时,我收到“成功”警报,但我的 csv 文件中没有新行。

我做错了什么?

【问题讨论】:

  • 那...只是行不通。您需要有一个接受新数据并更新文件的服务器端脚本/处理程序。
  • 想象一下如果这个 DID 工作会存在安全漏洞。至少,您需要在服务器上运行一个脚本来写入文件。它还应该验证请求并验证输入。那么重复请求/并发用户呢?您可能需要考虑使用数据库后端。

标签: javascript jquery ajax post csv


【解决方案1】:

您不能只发布数据并将其添加到 .csv 文件中而无需在服务器端进行某种处理,否则任何人都可能将数据吐到任何服务器上。这将是一场安全噩梦。

您最好的选择可能是设置服务器端脚本处理或 API 来处理您的 ajax 请求。 C# MVC Web API 是一种简单的方法,您可以保持 JavaScript 基本完整,并将您的帖子发送到 C# 后端,然后该后端将能够解析输入并将其添加到您的 .csv 中。还有很多其他的框架,这只是我最熟悉的一个。

【讨论】:

    猜你喜欢
    • 2022-01-23
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2019-07-25
    相关资源
    最近更新 更多