Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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
将jQuery变量传递给javascript_Javascript_Jquery_Variables_Global Variables_Undefined - Fatal编程技术网

将jQuery变量传递给javascript

将jQuery变量传递给javascript,javascript,jquery,variables,global-variables,undefined,Javascript,Jquery,Variables,Global Variables,Undefined,我在jquery和javascript互操作性方面面临一些问题 我有一段代码试图从画布创建PNG并将其写入变量 jQuery.getScript('https://api.tiles.mapbox.com/mapbox-gl-js/v0.44.1/mapbox-gl.js', function() { //script is loaded and executed put your dependent JS here mapboxgl.accessToken = '<ACC

我在jquery和javascript互操作性方面面临一些问题

我有一段代码试图从画布创建PNG并将其写入变量

jQuery.getScript('https://api.tiles.mapbox.com/mapbox-gl-js/v0.44.1/mapbox-gl.js', function() {
    //script is loaded and executed put your dependent JS here
    mapboxgl.accessToken = '<ACCESS_TOKEN>';
    var mapcanvas = new mapboxgl.Map({
        container: 'mapimg',
        style: 'mapbox://styles/mapbox/streets-v9',
        lon: center[1].toFixed(6),
        lat: center[0].toFixed(6),
        zoom: zoominfo.zoom,
        preserveDrawingBuffer: true
    });

    var getbasemapimg = mapcanvas.getCanvas().toDataURL('image/png');
    alert("Inside jQuery: " + getbasemapimg);
});
jQuery.getScript('https://api.tiles.mapbox.com/mapbox-gl-js/v0.44.1/mapbox-gl.js,函数(){
//脚本已加载并执行,请将依赖的JS放在此处
mapboxgl.accessToken='';
var mapcanvas=new mapboxgl.Map({
容器:“mapimg”,
风格:'mapbox://styles/mapbox/streets-v9',
lon:中心[1]。固定(6),
横向:中心[0]。toFixed(6),
zoom:zoominfo.zoom,
preserveDrawingBuffer:true
});
var getbasemapimg=mapcanvas.getCanvas().toDataURL('image/png');
警报(“jQuery内部:+getbasemapimg);
});
这在上面的jQuery部分中运行良好(警报以base64字符串格式返回
getbasemapimg
),但在脚本中,我尝试调用
getbasemapimg
变量,这次它说它未定义:
getbasemapimg未定义

我必须在jQuery中总结第一部分,因为它调用了一个外部javascript源代码,我可以找出如何在不使用jQuery的情况下让它工作


我想我需要全局设置值
getbasemapimg
,但无法确定如何设置。

您需要在范围内访问mapboxgl。在通过Ajax请求库之后,您的代码将作为回调调用。您可以在自己的代码之前通过标记将该库添加到index.html中,作为问题的简单解决方案

在哪里调用变量,请共享该代码。您可以将变量设置为全局变量,也可以将其作为函数参数传递,因为函数参数scope与javascript中的声明位置相关。要使其成为全局范围,请将其置于最顶层。请参阅以了解更多信息。谢谢,在mapbox实例化之前,我设法在HMTL中加载了脚本