快速概述:如何在Razor/CSHTML项目中正确使用jQuery.get()?
我试图加载使用jQuery.get()函数的XML文件 “Barcode.label”。但是,jQuery.get()找不到该文件。我相信这个问题可能是由于在MVC5中工作,并尝试使用错误的路径约定来查找文件。如何在MVC5 Razor/CSHTML Web项目中获取正确的文件路径?
如果需要关于此特定问题的更多信息,我将它公布在下面。这是我第一次在这里问一个问题,所以我提前对任何含糊之处表示歉意。
前言:
我工作的剃刀/ CSHTML Web项目的MVC5框架,我必须与DYMO LabelWriter 450双涡轮增压打印机接口下。我的最终目标是将通过打印机在网页上找到的数据打印到标签单上。
我通过以下提供的位于这里DYMO的SDK页面上的样品开始了我的工作:http://developers.dymo.com/tag/javascript/
大家普遍认为是在样品演示中使用的JavaScript代码的样本,该位置为:http://labelwriter.com/software/dls/sdk/samples/js/QRCode/QRCode.js
问题:
在试图遵循SDK页面发现样品中,我遇到了一个障碍在我的程序不亲perly分配barcodeLabel。看起来好像jQuery.get()方法没有定位文件。我确定这是基于来自萤火虫测试反馈的问题,和如下所示的错误:
GET http://localhost:29138/device/Barcode.label 404 Not Found 2ms
此外,特定的码块的后评价读取barcodeLabel和barcodeAsImageLabel是不确定的。有关跃跃欲试barcodeLabel和barcodeAsImageLabel,和我的问题的源代码,如下所示:
function loadLabelFromWeb()
{
// use jQuery API to load labels
$.get("Barcode.label", function(labelXml)
{
barcodeLabel = dymo.label.framework.openLabelXml(labelXml);
alert("Load was performed for barcodeLabel.");
});
$.get("Barcode.label", function(labelXml)
{
barcodeAsImageLabel = dymo.label.framework.openLabelXml(labelXml);
alert("Load was performed for barcodeAsImageLabel.");
});
}
试图解决:
作为一个理智的测试,我保证loadLabelFromWeb( )在加载页面时被调用,并且已被证实可以正常工作。但是,我没有收到以上代码中显示的负载警报。 Print.cshtml文件和Barcode.label文件都存储在同一个目录中。我的解决方案目录的快照如下图所示,以纪念该文件的位置:
> Views
> Device
> Barcode.label
> Print.cshtml
我的测试,以修复此错误包括搬迁Barcode.label文件到许多不同的地点的解决方案中,以及改变filepath使用window.location.pathname获取当前URL,使用波浪号'〜'的相对路径,以及硬编码到文件的路径。这些方法似乎都不起作用,这使我相信MVC5有不同于我习惯的处理路径的方式。
我的具体目标是找出如何正确定位Barcode.label文件,以便我可以使用jQuery从文件加载信息。得到()。