【发布时间】:2015-03-25 20:28:36
【问题描述】:
我在 PhoneGap 应用程序中有一个 JavaScript 函数,可以成功调用条形码扫描仪(使用 Cordova 插件)。然后我形成一个 JSON 字符串并进行“返回”调用,以尝试将字符串传递回函数调用分配。我成功地警告扫描函数中的 JSON 字符串,但随后为已分配函数结果的变量获得了一个未定义的值。我认为这可能与范围有关,但在函数之外声明变量并没有任何区别。
var myscan = null;
var myclueJSON = null;
var myscan = getScan(); //call scanning function and assign result JSON to myscan variable
alert(myscan); //returns undefined
//call PhoneGap barcode scanner function
//and form JSON to return
function getScan()
{
var scanner = cordova.require("cordova/plugin/BarcodeScanner");
scanner.scan( function (result)
{
var myresult = result.text;
var obj= JSON.parse(myresult);
//fetch event id from barcode
var myeventid = obj.eventid;
//fetch clue sequence from barcode
var mycluesequence = obj.cluesequence;
//form JSON string
var myscanJSON = '{"eventid":"' + myeventid + '","cluesequence":"' + mycluesequence + '"}';
//return JSON string
return myscanJSON;
}, function (error)
{
console.log("Scanning failed: ", error);
});
【问题讨论】:
标签: javascript cordova