ฉันมีไฟล์ json ในโฟลเดอร์เนื้อหาภายในโครงการ asp.net ของฉัน:
<projectName>
\Content
NBCCJr.json
... และรหัสเพื่อเข้าถึง:
$.getJSON('~/Content/NBCCJr.json', function (data) {
$.each(data, function(i, dataPoint) {
// Bla
});
});
)
... แต่ไม่มีอะไรเกิดขึ้นเมื่อมีการเรียกรหัส คอนโซลของเบราว์เซอร์แจ้งว่า "ไม่สามารถโหลดทรัพยากรได้: เซิร์ฟเวอร์ตอบสนองด้วยสถานะ 404 (ไม่พบ)"
ทำไมถึงไม่พบ? "tilde whack filename" เส้นทางไปยังไฟล์ไม่ถูกต้องใช่หรือไม่
อัปเดต
ฉันยังลองด้วยการ "ตี" ไปข้างหลัง:
$.getJSON('~\Content\NBCCJr.json', function (data) {
... และได้ผลลัพธ์เดียวกัน (" ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบสนองด้วยสถานะ 404 (ไม่พบ) ")
อัปเดต 2
จากนั้นฉันก็ลองใช้มันมีการตีไว้ข้างหน้าดังนี้:
$.getJSON('Content/NBCCJr.json', function (data) {
... และฉันได้รับข้อความที่ไม่ชัดเจนนี้ในคอนโซล:
*GET http://localhost:9702/Content/NBCCJr.json 404 (Not Found) jquery.js:8724
XHR finished loading: "http://localhost:9702/Content/NBCCJr.json".*
มันจึงไม่พบและยังโหลดต่อไป?
อัปเดต 3
เมื่อฉันพยายามนำทางไปยังไฟล์ในเบราว์เซอร์โดยเปลี่ยน:
http://localhost:9702/Default.cshtml
...ถึง:
http://localhost:9702/Content/NBCCJr.json
ฉันได้รับข้อความ WSOD ที่ให้ข้อมูลจาก Vint Cerf, Tim Berners-Lee และ / หรือ Al Gore พูดว่า:
ข้อผิดพลาด HTTP 404.3 - ไม่พบหน้าที่คุณร้องขอไม่สามารถให้บริการได้เนื่องจากการกำหนดค่าส่วนขยาย หากเพจเป็นสคริปต์ให้เพิ่มตัวจัดการ หากควรดาวน์โหลดไฟล์ให้เพิ่มแผนที่ MIME
อัปเดต 4
ขอบคุณ JAM ตอนนี้ใช้งานได้แล้ว
ฉันต้องเพิ่มสิ่งนี้ใน Web.Config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>