Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建一个全局变量以在AJAX调用之外进行操作_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 如何创建一个全局变量以在AJAX调用之外进行操作

Javascript 如何创建一个全局变量以在AJAX调用之外进行操作,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我有一个从JSON文件调用的图像 success: function(data) { console.log(data.items[0].thumbnailImage); 有人能告诉我如何把这个缩略图变成一个全局变量,我可以用它在html img标签中显示吗 我只是想对JSON数据有更多的控制,但我不知道如何在ajax调用之外操作它 我意识到我在这里有很多东西要学,但举个例子会很有帮助 谢谢 下面是我发现的一个例子: (函数($){ 变量url='?' $.ajax({ 键入:

我有一个从JSON文件调用的图像

success: function(data) {   
    console.log(data.items[0].thumbnailImage); 
有人能告诉我如何把这个缩略图变成一个全局变量,我可以用它在html img标签中显示吗

我只是想对JSON数据有更多的控制,但我不知道如何在ajax调用之外操作它

我意识到我在这里有很多东西要学,但举个例子会很有帮助

谢谢

下面是我发现的一个例子:

(函数($){

变量url='?'

$.ajax({

键入:“GET”, url:url, async:false, JSONPCCallback:'jsonCallback', contentType:“应用程序/json”, 数据类型:“jsonp”, 成功:函数(json){ console.dir(json.sites); }, 错误:函数(e){ 控制台日志(e.message); } }))

})(jQuery)

这个例子的结尾说:“输出应该是JSON作为一个对象,然后我们可以不受限制地将数据用于我们想要的任何目的。”

你能给我举一些例子,说明如何在没有限制的情况下使用这些数据吗?我在前面的例子中调用了外部JSON文件,其中提供了thumbnailimage

实际上,我所要做的就是能够拍摄图像并在html/css中操作/显示图像


这是一个模糊的问题,因此我的回答相当模糊

声明要在AJAX调用之外存储返回的内容,如图像数组。然后在AJAX的成功句柄中,将其添加到该数据存储中,并以对您有意义的方式进行处理(例如附加它、更新当前图像等)


第一种方法是全局定义变量,然后进行AJAX调用,然后将响应分配给变量

另一个解决方案是直接设置图像。你的答复是什么格式的?也许你需要这样做:

img.src = data.items[0].thumbnailImage;

你真的不能。AJAX是异步的—一旦您执行了
XMLHttpRequest
,函数的执行将在调用它的上下文之外完成。异步函数需要回调才能完成,AJAX调用前后执行的其余线性代码与此无关。如果回答说您只需在(异步)成功处理程序内分配一个全局变量并使用它,而不需要从成功处理程序调用使用该变量的函数,那么这是完全错误的


这个异步回调事件循环是node.js的整个基础。这是绕不过去的

请更详细地解释你想做什么。这个问题听起来有点像如何在成功回调之外访问ajax响应。。这是错误的做法将图像保存在服务器的某个文件夹中,尝试获取图像的路径,并将路径设置为您想要的img标记的src属性。这是正确的,但他没有询问如何在AJAX调用中声明全局变量,只是如何将结果存储到一个全局变量中。但是这没有什么意义,除非使用全局变量的函数也从回调调用。好的,这一点很好。但是如果他只使用一次图片,他应该直接创建图像。否则,他必须将其存储在AJAX调用之外的变量中,否?如何将其应用于html?我希望能够选择要在web浏览器上显示的缩略图项目。例如,我想在屏幕上显示data.item[0]。thumbnailimage和data.item[3]。thumbnailimage。我该怎么做?我发现的唯一方法是使用以下命令来完成此操作:…成功:函数(数据){var image=document.querySelector('img');image.setAttribute('src',data.items[8].thumbnailImage);console.log(data.items[0].thumbnailImage);
img.src = data.items[0].thumbnailImage;