我正在访问第三方API,该API使用函数getResults()
返回包含图片网址的JSON数据。在该函数中,我调用另一个函数uploadResults()
来调用PHP脚本来发布这些图像URL并接收新的(品牌)URL。然后我想将这些新网址保存在名为newURL
的变量中。最后,我想显示此newURL
以及我从第三方API收集的其他JSON数据。
我的JavaScript代码:
function getResults(url){
$.get("https:// MY API URL=" + url, function(data) {
console.log("API call worked")
console.log(data);
data['result'].forEach(function(result,index,results) {
var file = result.value_map.im_url;
uploadResults(file);
var itemName = result.value_map.title;
var clickURL = result.value_map.web_url;
var image = "<img src=\"" + newURL + "\"/>";
var clickableImage = "<a href=\"" + clickURL + "\">" + image + "</a>";
var wholeImage = "<div>" + clickableImage + "<br><br>" + itemName + "<br><br><br><br></div>";
$(".display").append(wholeImage);
});
});
}
function uploadResults(file){
$.ajax({
method: 'POST',
url: 'http://MY HOST/upload.php?' + file,
cache: false,
success: function(files){
console.log("PHP call worked");
console.log(files);
var newUrl = files;
}
});
}
当我在浏览器中运行我的代码时,我在控制台中得到了这个输出:
API call worked
Object {status: "OK", method: "uploadsearch", error: Array[0], page: 1, limit: 50…}
Uncaught ReferenceError: newURL is not defined(anonymous function)
PHP call worked
Object {files: Array[0]}
我没有正确调用PHP脚本吗?我没有传递正确的参数吗?