ajax从文件夹获取图像时出错

时间:2017-01-15 03:48:37

标签: php jquery json

PHP:

{ var login = nlapiGetLogin(); }

AJAX:

<?php

class GetProductImage{

    public function __construct() {
      echo json_encode("test");
    }

$GetProductImage = new GetProductImage();

?>

这些是我用来从文件夹中获取所有图像的2个文件,但不知怎的,我收到了这个错误。它之前没有发生过,我不知道它是什么。

错误:

$.ajax({
    type: "POST",
    url: "class/json-gallery-data.php",
    context: $("#contentWrapper-body"),
    contentType: "application/x-www-form-urlencoded",
    dataType: "json",
    cache: false,
    data: {
        folder : this.path,
    },
    success:function(d)
    {
        console.log(d);
    },
    error: function(jqXHR, textStatus, errorThrown)
    {
        console.log('jqXHR:');
        console.log(jqXHR);
        console.log('textStatus:');
        console.log(textStatus);
        console.log('errorThrown:');
        console.log(errorThrown);
    }
});

我有什么问题?任何人都可以指出我的问题并帮助我吗?

2 个答案:

答案 0 :(得分:0)

这意味着您的JSON文件正在返回HTML而不是JSON。这很可能是由打印的PHP错误或重定向引起的。尝试将dataType: json更改为dataType: text/html以查看确切的返回内容而不是JSON错误消息,然后根据错误行为进行操作。

答案 1 :(得分:0)

错误表示浏览器获取的响应无效JSON。原因有很多 - 返回HTML而不是JSON,返回错误文本或只是将额外的无关文本转储到输出中。

除了JSON之外,您还在输出额外的文本 - 删除echo $dir,看起来只有JSON响应会出现在那里:

$dir = "../../../img/brand-product/".$folder."/";
echo $dir;

确认 - 查看浏览器开发人员工具中的响应或Fiddler