2014-10-06 221 views
5

我做一個Ajax調用,並在success功能,我使用JSON.Parse function.But問題是,JSON.parse功能工作無處不在,除了iPad的,Safari瀏覽器 iPad版7.0.6〜)。在iPad的Safari瀏覽器,在這裏我用JSON.Parse行後,我的代碼似乎並不被執行。我試圖alert與線下JSON.Parse一些消息,但沒有luck.Can我們發現身邊的這個工作問題?JSON.parse不工作在iPad上的Safari

在此先感謝。

這裏是SCRIPT我運行:

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

價值$('#divWOListForFE').html()低於

"[{"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

請張貼一些代碼! – loveNoHate 2014-10-06 06:56:31

+0

將可以在這裏用你的代碼.. – 2014-10-06 06:56:40

+0

或使用jquery.ParseJSON() – 2014-10-06 06:58:17

回答

6

的JSON數據是有效的,但是當弦看起來像日期或字符串存在於HTML節點中,iPad和iPhone都會自動創建可點擊的鏈接。所以基本上,當你把它放入一個標準的HTML DOM節點時,你的JSON會變得越來越嚴重。

JS撥弄,顯示它在桌面上的工作: http://jsfiddle.net/8wptohs0/1/

同樣的JS小提琴不能在iPhone模擬器上工作(沒有警報):(如果你仔細觀察,你可以看到模擬器已經變成了StartDate現場數據爲藍色可點擊的鏈接) iPhone JSON parse error

如果我刪除StartTime屬性數據,它工作在桌面和iPhone上 http://jsfiddle.net/8wptohs0/2/

JSON.parse working on iPhone

要解決這個問題,有一些meta標籤應該做的 - 你可能必須試驗哪些適合你。

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

不過值得一說的是將服務端數據到JavaScript一個data-屬性或內聯JS是一種比較常用的方法時 - 恰好爲這些類型的原因。

+0

Thanku這麼多,這個驚人的解釋:) 但是你上面說沒有這個work.Instead我想這個元標記元標記,它作品。你能告訴我爲什麼會發生這種事情嗎? – 2014-10-06 09:28:46

+0

我在那裏添加了你的答案 - 有不同類型的數據,你可以告訴蘋果不要自動進入鏈接。它看起來像'電話=否'是你需要做的,使其停止格式化鏈接看起來像日期。這似乎不可思議,但我在這裏證實,它:http://jsfiddle.net/8wptohs0/5/(見CSS面板上的meta標籤) – 2014-10-06 09:44:12

+0

我檢查在iPad上的提琴刪除從CSS面板。它不起作用。而只包括這個電話元標籤,它開始工作。反正你的回答對我真的很有幫助。謝謝! – 2014-10-06 09:55:59