【问题标题】:JSON Response keeps coming back undefined (ajax file upload)JSON 响应不断返回未定义(ajax 文件上传)
【发布时间】:2012-07-10 15:13:23
【问题描述】:

我目前正在使用 Valum 的 Ajax 文件上传器进行同页文件上传。对于我的脚本,我需要将最终文件路径(上传后)传回客户端并将其存储在一个变量中,但是,对于 responseJSON ['filename'],我不断得到“未定义”。我尝试了很多不同的解决方案,但似乎没有任何效果(将数据类型从 json 更改为文本,使用 PHP 发送响应的方式等)

这里一定有一些简单的东西我忽略了......

欢迎所有帮助。谢谢!

编辑:JS 在这里:http://jsfiddle.net/acw9V/ 对于 PHP 部分,我使用 Valum 的 zip 存档中的默认 PHP 代码。

更新:仍然没有运气...不断从 responseJSON 返回 undefined。我想知道是否有某种方法可以返回在 PHP 中回显的任何消息,也许我可以使用它?

【问题讨论】:

  • 你能把代码贴出来吗?
  • 是的,这是主要的 JS:jsfiddle.net/acw9V 它可以正常上传文件,但我无法让它返回正确的路径...
  • 如何检查响应对象的内容,看看你到底得到了什么:console.log(responseJSON);
  • 控制台甚至没有显示任何输出:(

标签: php javascript ajax json file-upload


【解决方案1】:

我认为 'responseJSON' 实际上是 STRING ,而不是数组。 (假设你只是在 php 中回显你的输出并且你不能回显数组)要被视为数组,在接收后,responseJSON 应该是 eval-ed。

var data = eval(responseJSON);

(最终:var data = eval ("(" + responseJSON + ")"); )

那么 data['filename'] 应该包含上传的文件名(如果这是在 php 中指定的)

【讨论】:

    猜你喜欢
    • 2016-08-23
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    相关资源
    最近更新 更多