使用ajax从API获取图像

时间:2016-09-26 06:00:26

标签: javascript php jquery ajax

我在我的控制台中没有出现任何错误,但我想要得到的是thumbnail_url,它是php文件中的json。在控制台中,它显示它是一个数组字符串,我怎么可能访问它?

编辑:  我能够执行我想要的输出,但问题是最后一个对象是浏览器中唯一输出的对象。

new { @id = "ddlCustomerStatusList" }

这是我们的html和ajax请求:

id

2 个答案:

答案 0 :(得分:1)

这里有一些问题,首先你的javascript是不完整的。 Ajax函数和jQuery ready都没有正确关闭。

sum(Reduce(`+`, lapply(df, is.na))==1)
#[1] 2

f2 <- function(dat, n){
      sum(Reduce(`+`, lapply(dat, is.na))==n)
 }

f2(df, 1)

我不是PHP的专家,maby其他人可以对这一部分有所了解。但在我看来,代码中缺少一个json响应头。

此外,$ data变量从未使用过,您可以将其删除或在成功回调中提供。

答案 1 :(得分:0)

首先,你应该修复你的javascript关闭,因为Remco说。

其次,看来你的php在json对象之后返回一个字符串test,这样jQuery就无法将它转换为有效的Javascript对象。这似乎是这里的核心问题。因为它不是代码中的任何地方,你只能在代码的其他地方假设它(这很好,因为它更容易擦除)或者它可能与卷曲的响应一起,在这种情况下你必须写一个正则表达式,用于在打印之前将其从字符串中删除。

第三,你不能将数据对象直接输入到html函数,因为它需要一个字符串而不是一个对象,你应该只传递thumbnail_url属性。

以下是一段代码片段,其中包含一些修改/更正:

function() {
    var $data = $('#content');
    $.ajax({
        type:'GET',
        dataType:'json',
        url:'https//www.website.com',
        success: function (data) {
            $('#content').html(data[0].thumbnail_url);
        }
    });
});

在这段代码中,我使用data[0]使用数组中第一个对象的缩略图,但你应该改进你的代码以使用你需要的代码,或者从php发送只有你实际的代码使用

重要

与您的问题无关,但您也应编辑您的PHP代码以打印关联数组作为最外层数组,这样您就可以阻止addEventListener