Javascript 使用jquery在jsonp中循环
我可以看到firebug中的响应是正确的,但实际上无法访问它返回的数据-需要一个指针。当然,我试图将条目的时间戳放入div中——div确实存在 jqueryJavascript 使用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',
$(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 />");
}
}