2014-10-06 21 views
5

Tôi đang làm một cuộc gọi ajax và trong success chức năng Tôi đang sử dụng JSON.Parse function.But vấn đề là JSON.parse chức năng đang làm việc ở khắp mọi nơi trừ iPad-Safari Trình duyệt ( iPad Version ~ 7.0.6) .Trong iPad Safari, mã của tôi sau dòng mà tôi đã sử dụng JSON.Parse dường như không được thực thi. Tôi đã thử alert với một số thư dưới dòng JSON.Parse nhưng không có may mắn. Chúng tôi có thể tìm thấy một công việc xung quanh vấn đề?JSON.parse không hoạt động trên thiết bị iPad săn

Xin cảm ơn trước.

Đây là SCRIPT Tôi đang chạy:

var obj = JSON.parse($('#divWOListForFE').html()); 
alert('hello'); //this alert doesnt execute on iPadSafari 
$('#divWOListForFE').html(''); 
BindWorkOrderGrid(obj, 1, 10); 

Các giá trị của $('#divWOListForFE').html() dưới

"[{"Pk_WorkOrderId":6806,"Fk_CompanyId":null,"Fk_CreatedByUserId":null,"Fk_ProposalId":null,"Fk_InvoiceId":null,"OrderNo":242,"Fk_SiteAddressId":null,"Fk_CustomerId":null,"Fk_GanttItemId":null,"AppointmentDateTime":null,"TimestampCreated":null,"CreationDate":null,"TimestampModified":null,"Description":"","EquipmentNeeded":null,"SpecialInstructions":null,"WorkOrderType":"Contract","JobType":null,"HourlyRate":null,"CompletionStatus":null,"TotalEstHrs":null,"TotalActualHrs":null,"WorkToBePerformed":null,"BIllingStatus":null,"OkToBill":null,"WorkOrderStatus":"Scheduled","IsDeleted":false,"IsProposalSort":null,"TotalRecords":6,"IsUserCreator":1,"CreatedBy":"Mndi,Murali","CustomerName":"Mfsi - Mindi M1","StartTime":"10/1/2014 8:00:00 AM"},{"Pk_WorkOrderId":6807,"Fk_CompanyId":null,"Fk_CreatedByUserId":null,"Fk_ProposalId":null,"Fk_InvoiceId":null,"OrderNo":243,"Fk_SiteAddressId":null,"Fk_CustomerId":null,"Fk_GanttItemId":null,"AppointmentDateTime":null,"TimestampCreated":null,"CreationDate":null,"TimestampModified":null,"Description":"","EquipmentNeeded":null,"SpecialInstructions":null,"WorkOrderType":"Contract","JobType":null,"HourlyRate":null,"CompletionStatus":null,"TotalEstHrs":null,"TotalActualHrs":null,"WorkToBePerformed":null,"BIllingStatus":null,"OkToBill":null,"WorkOrderStatus":"Scheduled","IsDeleted":false,"IsProposalSort":null,"TotalRecords":6,"IsUserCreator":1,"CreatedBy":"Mndi,Murali","CustomerName":"Mfsi - Murli Mindi","StartTime":"8/1/2014 8:00:00 AM"},{"Pk_WorkOrderId":6808,"Fk_CompanyId":null,"Fk_CreatedByUserId":null,"Fk_ProposalId":null,"Fk_InvoiceId":null,"OrderNo":244,"Fk_SiteAddressId":null,"Fk_CustomerId":null,"Fk_GanttItemId":null,"AppointmentDateTime":null,"TimestampCreated":null,"CreationDate":null,"TimestampModified":null,"Description":"adding a new description for this field user.","EquipmentNeeded":null,"SpecialInstructions":null,"WorkOrderType":"Contract","JobType":null,"HourlyRate":null,"CompletionStatus":null,"TotalEstHrs":null,"TotalActualHrs":null,"WorkToBePerformed":null,"BIllingStatus":null,"OkToBill":null,"WorkOrderStatus":"Scheduled","IsDeleted":false,"IsProposalSort":null,"TotalRecords":6,"IsUserCreator":1,"CreatedBy":"Mndi,Murali","CustomerName":"Mindi, Shiv","StartTime":"10/2/2014 8:00:00 AM"},{"Pk_WorkOrderId":6808,"Fk_CompanyId":null,"Fk_CreatedByUserId":null,"Fk_ProposalId":null,"Fk_InvoiceId":null,"OrderNo":244,"Fk_SiteAddressId":null,"Fk_CustomerId":null,"Fk_GanttItemId":null,"AppointmentDateTime":null,"TimestampCreated":null,"CreationDate":null,"TimestampModified":null,"Description":"adding a new description for this field user.","EquipmentNeeded":null,"SpecialInstructions":null,"WorkOrderType":"Contract","JobType":null,"HourlyRate":null,"CompletionStatus":null,"TotalEstHrs":null,"TotalActualHrs":null,"WorkToBePerformed":null,"BIllingStatus":null,"OkToBill":null,"WorkOrderStatus":"Scheduled","IsDeleted":false,"IsProposalSort":null,"TotalRecords":6,"IsUserCreator":1,"CreatedBy":"Mndi,Murali","CustomerName":"Mindi, Shiv","StartTime":"10/2/2014 8:00:00 AM"},{"Pk_WorkOrderId":6809,"Fk_CompanyId":null,"Fk_CreatedByUserId":null,"Fk_ProposalId":null,"Fk_InvoiceId":null,"OrderNo":245,"Fk_SiteAddressId":null,"Fk_CustomerId":null,"Fk_GanttItemId":null,"AppointmentDateTime":null,"TimestampCreated":null,"CreationDate":null,"TimestampModified":null,"Description":"","EquipmentNeeded":null,"SpecialInstructions":null,"WorkOrderType":"Contract","JobType":null,"HourlyRate":null,"CompletionStatus":null,"TotalEstHrs":null,"TotalActualHrs":null,"WorkToBePerformed":null,"BIllingStatus":null,"OkToBill":null,"WorkOrderStatus":"Scheduled","IsDeleted":false,"IsProposalSort":null,"TotalRecords":6,"IsUserCreator":1,"CreatedBy":"Mndi,Murali","CustomerName":"Sudhansu-Dummy test","StartTime":"10/5/2014 1:00:00 PM"},{"Pk_WorkOrderId":6809,"Fk_CompanyId":null,"Fk_CreatedByUserId":null,"Fk_ProposalId":null,"Fk_InvoiceId":null,"OrderNo":245,"Fk_SiteAddressId":null,"Fk_CustomerId":null,"Fk_GanttItemId":null,"AppointmentDateTime":null,"TimestampCreated":null,"CreationDate":null,"TimestampModified":null,"Description":"","EquipmentNeeded":null,"SpecialInstructions":null,"WorkOrderType":"Contract","JobType":null,"HourlyRate":null,"CompletionStatus":null,"TotalEstHrs":null,"TotalActualHrs":null,"WorkToBePerformed":null,"BIllingStatus":null,"OkToBill":null,"WorkOrderStatus":"Scheduled","IsDeleted":false,"IsProposalSort":null,"TotalRecords":6,"IsUserCreator":1,"CreatedBy":"Mndi,Murali","CustomerName":"Sudhansu-Dummy test","StartTime":"10/5/2014 1:00:00 PM"}]" 
+0

Vui lòng đăng một số mã! – loveNoHate

+0

sẽ có thể sử dụng mã của bạn ở đây .. –

+0

Hoặc thử bằng cách sử dụng jquery.ParseJSON() –

Trả lời

6

Các dữ liệu JSON là hợp lệ nhưng khi chuỗi trông giống như Ngày hoặc Strings có mặt trong một nút HTML cả iPad và iPhone sẽ tự động tạo liên kết có thể nhấp. Về cơ bản, JSON của bạn đang bị xáo trộn khi bạn đặt nó vào một nút DOM HTML chuẩn.

JS fiddle cho thấy nó làm việc trên máy tính để bàn: http://jsfiddle.net/8wptohs0/1/

fiddle JS cùng này không hoạt động trên iPhone giả (đã không có cảnh báo): (Nếu bạn nhìn kỹ bạn sẽ nhìn thấy giả đã biến các StartDate dữ liệu thực địa vào liên kết có thể click màu xanh) iPhone JSON parse error

Nếu tôi loại bỏ các dữ liệu tài sản StartTime, nó hoạt động trên desktop và iPhone http://jsfiddle.net/8wptohs0/2/

Để khắc phục điều này, có một số thẻ meta cần thực hiện thủ thuật - bạn có thể phải thử nghiệm những thẻ nào phù hợp với bạn.

<meta name="format-detection" content="telephone=no"> <meta name="format-detection" content="date=no"> <meta name="format-detection" content="address=no">

Tuy nhiên điều đáng nói là khi chèn phục vụ dữ liệu bên vào javascript một thuộc tính data- hoặc inline JS là một phương pháp thường được sử dụng nhiều hơn - cho chính xác các loại lý do.

+0

Thanku rất nhiều cho lời giải thích tuyệt vời này :) nhưng thẻ meta bạn đã nói ở trên không hoạt động. Lưu ý điều này tôi đã thử thẻ meta này và nó công trinh. Bạn có thể cho tôi biết tại sao điều này xảy ra? –

+0

Tôi đã thêm câu trả lời của bạn vào đó - có nhiều loại dữ liệu khác nhau mà bạn có thể nói với táo không được tự động tạo thành liên kết. Có vẻ như 'phone = no' là những gì bạn cần làm để làm cho nó ngừng liên kết định dạng trông giống như ngày tháng. Điều này có vẻ lạ nhưng tôi đã xác nhận nó ở đây: http://jsfiddle.net/8wptohs0/5/ (xem thẻ meta trên bảng điều khiển CSS) –

+0

Tôi đã kiểm tra fiddle của bạn trong iPad sau khi xóa nội dung từ bảng điều khiển css. Nó không hoạt động. trong khi chỉ bao gồm thẻ meta điện thoại này, thẻ này bắt đầu hoạt động. anyways câu trả lời của bạn đã thực sự hữu ích cho tôi. Cảm ơn một tấn! –

Các vấn đề liên quan