【问题标题】:JSON file not being read correctly on FileZilla/FTP server在 FileZilla/FTP 服务器上未正确读取 JSON 文件
【发布时间】:2015-02-12 11:36:27
【问题描述】:

当我将项目上传到 FTP 服务器时,我从中提取数据的 JSON 文件无法正常工作。但是当我从我的本地服务器 XAMP 运行程序时,它运行得非常好。我注意到通过检查 FTP 服务器上的元素没有正确读取 JSON。这是它的样子:

这是从我的本地服务器运行的应用程序,我在其中检查元素。目前正在运行:

这是我在代码中访问文件的方式:

$.ajax({
        url: 'includes/js/jsons/' + location_name + '.json',
        datatype: 'json',
        success: function(parsed_json){
            // doing stuff
});

关于为什么这可能会搞砸的任何想法?

注意:我不认为我的 JSON 文件被识别为 JSON 文件,而是 HTML 文档或其他内容。

【问题讨论】:

  • 通过FTP发送文件时文件是否被转换?您是否已将 Filezilla 配置为在发送时保持文件不变?
  • 据我所知。我只是从我的 htdocs 文件复制并粘贴到 filezilla
  • 如果您使用浏览器直接(本地和远程)打开此 JSON 文件,您发现有什么不同吗?
  • 不,看起来一模一样。我使用地址栏直接转到 FTP 服务器上的文件位置

标签: javascript php jquery json ftp


【解决方案1】:

好的,所以问题实际上是 json 文件被读取为字符串而不是 json,尽管已将数据类型设置为 json。为了解决这个问题,我不得不通过这行代码将 json 文件解析为 json 文件

$.ajax({
    url: 'includes/js/jsons/' + location_name + '.json',
    datatype: 'json',
    success: function(parsed_json){
        var parsed_json = $.parseJSON(parsed_json);
});

我还在 FTP 进程中编辑了一个设置,它只会以二进制而不是自动上传。

如果您有同样的问题,请同时尝试。如果解析 json 不起作用,请按照 Ali Javadi 提供的链接。

【讨论】:

    【解决方案2】:

    我认为这个 FileZilla 默认会更改换行符,这会导致问题,请点击此链接更改此行为并再次测试:How can I stop Filezilla changing my linebreaks?

    【讨论】:

    • 不幸的是没有工作。我从 json 中提取的数据仍然未定义。
    猜你喜欢
    • 2011-09-13
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2015-01-22
    • 2013-04-24
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多