2014-10-06 21 views
5

ich ein Ajax-Aufruf tue und in success Funktion I JSON.Parse bin mit function.But das Problem ist, dass JSON.parse Funktion arbeitet überall, außer in iPad-Safari Browser ( iPad Version ~ 7.0.6) .In iPad Safari, mein Code nach der Zeile, wo ich JSON.Parse verwendet scheint nicht ausgeführt werden. Ich versuchte alert mit einer Nachricht unter der Leitung JSON.Parse aber hatte kein Glück.Kann finden wir eine Arbeit um dies Problem?JSON.parse funktioniert nicht auf dem iPad Safari

Vielen Dank im Voraus. Hier

ist das SCRIPT Ich betreiben:

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

Die Wert von $('#divWOListForFE').html() unter

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

Bitte poste etwas! – loveNoHate

+0

wird in der Lage sein, Ihren Code hier zu verwenden. –

+0

Oder versuchen Sie es mit jquery.ParseJSON() –

Antwort

6

Die JSON-Daten gültig sind, aber wenn Strings, die aussehen wie Öffnungszeiten oder Strings In einem HTML-Knoten werden sowohl das iPad als auch das iPhone automatisch klickbare Links erstellen. Im Grunde genommen wird Ihr JSON fehlerhaft, wenn Sie es in einen Standard-HTML-DOM-Knoten einfügen.

JS Geige, die sie arbeiten auf dem Desktop zeigt: http://jsfiddle.net/8wptohs0/1/

Das gleiche JS Geige nicht auf dem iPhone Simulator funktioniert (es keinen Alarm wurde): (Wenn Sie genau hinsehen können Sie den Simulator finden Sie in der StartDate gedreht hat Felddaten in blau anklickbare Links) iPhone JSON parse error

Wenn ich die StartTime Eigenschaftsdaten entfernen, es auf dem Desktop funktioniert und das iPhone http://jsfiddle.net/8wptohs0/2/

JSON.parse working on iPhone

Um dies zu beheben, gibt es einige Meta-Tags, die den Trick tun sollten - Sie müssen möglicherweise experimentieren, welche für Sie arbeiten.

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

aber es lohnt sich zu sagen, dass, wenn Seiten Einfügen von Daten dienen in Javascript ein data- Attribut oder Inline-JS ist eine häufig verwendete Methode - für genau diese Art von Gründen.

+0

Vielen Dank für diese erstaunliche Erklärung :) aber das Meta-Tag, das Sie oben gesagt haben, hat nicht funktioniert. Statt dessen habe ich versucht, dieses Meta-Tag und es funktioniert. Kannst du mir sagen, warum das passiert ist? –

+0

Ich habe deine Antwort da drin eingefügt - es gibt verschiedene Arten von Daten, die Apple nicht automatisch zu Links machen kann. Es sieht so aus, als ob "Telefon = Nein" ist, was Sie tun müssen, damit es keine Links formatiert, die wie Daten aussehen. Das scheint seltsam, aber ich habe es hier bestätigt: http://jsfiddle.net/8wptohs0/5/ (siehe Meta-Tags im CSS-Panel) –

+0

Ich habe Ihre Geige in iPad nach dem Entfernen aus dem css-Panel. Es hat nicht funktioniert. Während nur dieses Telefon-Meta-Tag, begann es zu arbeiten. wie auch immer Ihre Antwort war wirklich hilfreich für mich. Vielen Dank! –

Verwandte Themen