2013-03-12 20 views
9

Tôi đang sử dụng Khả năng tương thích IE 10 trên Windows 8, Tôi gặp lỗi này khi chạy WebApp ở chế độ Gỡ lỗi (VS 2012). 0x800a1391 - JavaScript lỗi runtime: 'JSON' là undefined Mã dưới đây0x800a1391 - Lỗi thời gian chạy JavaScript: 'JSON' không được xác định trong IE 10

var data = JSON.stringify(GetUserDetails()); 

function GetUserDetails() { 
    var userData = {}; 
    userData.userName = $('#txtUserName').val(); 
    userData.password = $('#txtPassword').val(); 
    return userData; 
} 

Ngoài ra, một thực tế lạ là cùng mã lưu trữ trong IIS 8 chạy tốt trong IE 10 Browser. Bất kỳ đầu vào nào?

+0

Đây không phải là câu trả lời cho câu hỏi của bạn, nhưng tôi chỉ muốn nói thêm rằng khi bạn đang đối phó với trình duyệt IE bạn không nên phụ thuộc nó để chuyển đổi đối tượng JSON hoặc JSON để phản đối. Tôi đề nghị sử dụng một số thư viện JS khác để thực hiện các chức năng như [json2.js] (https://github.com/douglascrockford/JSON-js). –

+2

Tôi đã có thẻ trong đánh dấu nhưng vẫn tiếp tục nhận được lỗi cho đến khi tôi bỏ chọn Chế độ xem tương thích trong menu công cụ IE 10. – MDA

+0

Vâng, tôi tin rằng đó là hành vi mong đợi vì JSON sẽ chỉ hoạt động ở chế độ chuẩn theo câu trả lời. –

Trả lời

7

IE8 và lên only have đối tượng JSON trong standards mode. Vì vậy, bạn cần đảm bảo tài liệu có một loại tài liệu.

+1

Cảm ơn, đây có vẻ là câu trả lời ... Khi tôi kiểm tra IE 10 có nó và khả năng tương thích IE 10 không có nó. IE 10 có dạng trong khi IE 10 Compatibility có dạng ... không chắc tại sao nó lại được nhận xét .... –

+0

@RameezAhmedSayad: IE10 chắc chắn có 'JSON' . Một lần nữa, nó chỉ có sẵn trong chế độ tiêu chuẩn. –

+0

Có đúng là Crowder –

0

Tôi có cùng "lỗi thời gian chạy JavaScript ... JSON không xác định" đang chạy Windows 8 và IE 10, trong khi cố gắng chạy ứng dụng ASP .NET bằng cách sử dụng máy chủ web phát triển Visual Studio 2010. Khi tôi mở trình duyệt, nhấp vào "Alt" để hiển thị menu, sau đó nhấp vào Tools-> Compatibility View Settings và bỏ chọn "Hiển thị tất cả các trang web trong chế độ xem tương thích", tôi đã ngừng nhận lỗi.

1

Bạn cần phải bao gồm json2.js

thấy json2 inclusion

để biết thêm chi tiết. Có những trường hợp chúng ta phải đối phó với các trường hợp mà khách hàng sử dụng các tiêu chuẩn IE7. Vì vậy, mã của chúng tôi cũng phải phục vụ cho những trường hợp như vậy. Chúng tôi là một trang web bán lẻ được truy cập bởi hàng trăm khách hàng sử dụng các tiêu chuẩn IE7. Bao gồm json2 giải quyết vấn đề này

3

tôi phát hiện ra cho tôi rằng đó là một IE 10 thiết lập khả năng tương thích của mạng nội bộ đã được nâng cao ngoại lệ này cho các trang web mạng nội bộ của tôi:

"Hiển thị các trang web mạng nội bộ trong Compatibility View"

để thay đổi cờ này, hoặc chỉ đơn giản là vô hiệu hóa nó, hiển thị "Command Bar" trong IE 10, sau đó chọn "cụ"> "Compatibility View Settings "và bỏ chọn tùy chọn - thứ hai từ dưới cùng. Đã khắc phục sự cố ngay lập tức.

enter image description here

+0

DOCTYPE thực sự dịch giống nhau, bạn có thể nói cả hai đều ngầm –