Javascript 使用jquery在jsonp中循环

Javascript 使用jquery在jsonp中循环,javascript,php,jquery,ajax,jsonp,Javascript,Php,Jquery,Ajax,Jsonp,我可以看到firebug中的响应是正确的,但实际上无法访问它返回的数据-需要一个指针。当然,我试图将条目的时间戳放入div中——div确实存在 jquery $(document).ready(function(){ $.ajax({ url: 'http://www.testurl/api.php', data: {check: 'one'}, dataType: 'jsonp',

我可以看到firebug中的响应是正确的,但实际上无法访问它返回的数据-需要一个指针。当然,我试图将条目的时间戳放入div中——div确实存在

jquery

$(document).ready(function(){
        $.ajax({
            url: 'http://www.testurl/api.php',
            data: {check: 'one'},
            dataType: 'jsonp',
            jsonp: 'callback',
            jsonpCallback: 'jsonpCallback',
            success: function(){
                alert("success");
            }
        });
    });

function jsonpCallback(data){
    $('#jsonpResult').text(data.timestamp);
}
PHP


如前所述,我希望能够在jquery中循环查询结果并将其附加到各个div中,我需要的循环如下所示

function jsonpCallback(data) {
    $.each(data, function (i, item) {
        $('#jsonpResult').append(
            $('<div/>')
            .addClass("myclass")
            .text(item.timestamp) //item.timestamp
        );
    });
}
函数jsonpCallback(数据){
$。每个(数据、功能(i、项){
$('#jsonpResult')。追加(
$('')
.addClass(“myclass”)
.text(item.timestamp)//item.timestamp
);
});
}

这是因为您的jsonpresponse是一个数组,您试图将其作为单个对象使用

function jsonpCallback(data){
    $('#jsonpResult').text(data.timestamp); // Add the [0] and look what happens.
}
使用响应的正确方法是:

function jsonpCallback(data){
    $('#jsonpResult').text(data[0].timestamp);
}
所以,如果你需要迭代的话,会是这样的

function jsonpCallback(data) {
    $.each(data, function (i, item) {
        $('#jsonpResult').append(
            $('<div/>')
            .addClass("myclass")
            .text(item.timestamp) //item.timestamp
        );
    });
}
使用每个:

function jsconpCallback(data){
    data.each(function(item){
        $('#jsonpResult').append(item.timestamp+"<br />");
    });

}
函数jsconpCallback(数据){
数据。每个功能(项目){
$('#jsonpResult').append(item.timestamp+“
”); }); }
或标准:

   function jsonpCallback(data){
       for(var i = 0 ; i < data.length ; i++){
            $('#jsonpResult').append(item.timestamp+"<br />");
       }
   }
函数jsonpCallback(数据){
对于(变量i=0;i”);
}
}
我正在使用append,因为我们需要多个数据(一个数组)

在只需要一个大对象的情况下,在发送de jsonP响应的PHP文件中删除de[]


希望有帮助。

你不能在
jsonpCallback()
中这样做吗?我似乎无法访问它-任何值得欣赏的示例,那么你从
$(“#jsonpResult').text(JSON.stringify(data))在函数中,而不是在当前代码中<代码>数据。如果
数据
是数组,则时间戳
无效!这给了我充分的回答,数据在那里让我松了一口气。我怎样才能独立地找到我想要的东西呢
   function jsonpCallback(data){
       for(var i = 0 ; i < data.length ; i++){
            $('#jsonpResult').append(item.timestamp+"<br />");
       }
   }