快速概述:如何在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從文件加載信息。得到()。