全局变量未定义的phonegap

时间:2014-10-14 10:33:30

标签: android cordova camera

我在phonegap中开发一个Android应用程序,我点击按钮,我从设备的照片库中拍照。我在我的应用程序中显示它然后弹出一个询问我是否要确认将图像上传到服务器(我使用Filetransfer上传图像)。

一切都很好,除了一件事。何时可以拍照,我显示它,我可以上传它。现在的问题是,当我上传图片时,在我的win(r)函数中,我有一个变量" r.response" ,我应该把它发送到服务器。这就是为什么我创建一个全局变量" imageServer"取r.response的值,我从另一个函数调用它。但当我发出警报时,它告诉我未定义。这是我的代码。

var imageServer;

function uploadPhoto(imageData)
{

    var options = new FileUploadOptions();
    options.fileKey="file";
    options.fileName=imageData.substr(imageData.lastIndexOf('/')+1);
    options.mimeType="image/jpeg";

    var params = {};
    params.value1 = "test";
    params.value2 = "param";

    options.params = params;

    var ft = new FileTransfer();
    ft.upload(imageData, encodeURI("Server Url"), win, fail, options);
}

function win(r) 
{
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);        
    imageServer = r.response;
    //alert(imageServer);// Here when i alert i should get the url of the picture
    console.log("Sent = " + r.bytesSent);
}

function fail(error) 
{
    alert("An error has occurred: Code = " + error.code);
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);

} 

function SendServer()
{
    alert(imageServer); // when i alert here i get undefined 

    var callDatasetPosition = JSON.stringify({'serviceName':"global_functions", 'methodName':'setPosition',"parameters":[imageServer]});// here when i see in server side , there is no url of image send
    $.post('server url', callDatasetPosition, function(resp){}).done(function(data) 
    {               
        console.log(data);
        alert(data);
    }); 
}
你能帮帮我吗?非常感谢

0 个答案:

没有答案