Я играю с картой JS Dymo. original example работает без проблем, но загружает XML, даже когда я не хочу кликать. Я переписан выполнить Dymo код только тогда, когда я называю его:ReferenceError: метка не определена в каркасе Dymo
<script type="text/javascript">
function printnow() {
$.get("./cont.label", function(labelXml) {
label = dymo.label.framework.openLabelXml(labelXml);
}, "text");
// open label
// set label text
label.setObjectText("MENO", "test");
label.setObjectText("MUNKA", "test");
label.setObjectText("DESCRIPTION", test);
// select printer to print on
// for simplicity sake just use the first LabelWriter printer
var printers = dymo.label.framework.getPrinters();
if (printers.length == 0) throw "No DYMO printers are installed. Install DYMO printers.";
var printerName = "";
for (var i = 0; i < printers.length; ++i) {
var printer = printers[i];
if (printer.printerType == "LabelWriterPrinter") {
printerName = printer.name;
break;
}
}
if (printerName == "") throw "No LabelWriter printers found. Install LabelWriter printer";
// finally print the label
label.print(printerName);
};
</script>
К сожалению, после того, как я называю printnow(); Я получаю ReferenceError: label is not defined
Где проблема?
http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call/ 14220323? S = 1 | 0.0000 # 14220323 –
Этот '$ .get()' call is ** асинхронный **. Переменная 'label' не будет получать значение до тех пор, пока не будет завершен HTTP-вызов, но сам вызов' $ .get() 'немедленно возвращается. Поместите код, который подготавливает и печатает содержимое ** внутри ** обратного вызова. – Pointy