【发布时间】:2015-04-22 08:20:57
【问题描述】:
我正在尝试遍历 PHP 结果中的 Callback。
但我不能或者我不知道如何将数组作为回调
返回这是我的 PHP 代码:
$id = $_GET['id'];
$data = file_get_contents('__url');
parse_str($data);
$array = explode(',', $url_encoded_fmt_stream_map);
foreach($array as $item) {
parse_str($item);
echo $_GET['callback']."(".json_encode($url).");"; // it should return an array at least 3 urls
}
这是我的 Jquery 代码:
$.ajax({
url:"file.php",
dataType: 'jsonp',
data: {id: id},
success:function(response){
$('body').append(response);
}
});
它只给我一个结果,但它应该返回一个数组,它的工作方式就像我没有在 php 代码中使用 foreach 循环一样。
我在没有 Ajax 请求 的情况下测试了 PHP 代码,它返回了一组 url,但如果我使用 ajax 回调,它只返回一个 url。
【问题讨论】:
-
你从哪里得到
$_GET['callback']?您的 AJAX 仅发布id -
@phillip100 我没有从任何地方得到它,我必须使用这个回调将结果返回给 ajax 请求!这是回调,谷歌。
-
$_GET['callback']表示它来自某个地方。与您的id相同 - 您应该将post它改为$_GET它。你的 callback 不是你想的那样:-) -
为什么不能直接返回
json_encode()? -
@CodeGodie 我认为是因为我使用的是“JSONP”而不仅仅是“JSON”。
标签: javascript php jquery arrays ajax