我正在尝试制作一个通用函数,允许我同时从不同来源获取数据。
我的解决方案基于这篇文章,最后得到了这个:
var servicesURL = 'http://www.somedomain.com/services/xml_proxy.php?url=';
function getExternalData(service, callback) {
$.ajax({
type: 'GET',
url: servicesURL+service,
dataType: 'jsonp',
jsonpCallback: 'myfunction',
success: function(data) { callback(data); },
error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus+': '+errorThrown); }
});
}
getExternalData('data1.xml', function(data) {
console.log(data)
});
getExternalData('data2.xml', function(data) {
console.log(data)
});
这是我正在使用的代理的代码:
<?php
header('Content-type: application/json');
$url = $_GET['url'];
echo 'myfunction('.json_encode(simplexml_load_file($url)).')';
?>
当我对该函数进行一次调用时它工作正常,但是当我进行多次调用时(如上所述),我收到以下错误:
解析器错误:错误:未调用 myfunction
未捕获的类型错误:对象 [object Object] 的属性“myfunction”不是函数
任何帮助将不胜感激