2014-10-06 2 views
5

Я делаю один вызов AJAX и success функции Я использую JSON.Parse function.But проблема заключается в том, что JSON.parse функция работает везде, кроме IPAD-Safari Browser ( IPad версии ~ 7.0.6). В iPad Safari мой код после строки, где я использовал JSON.Parse, кажется, не выполнен. Я попробовал alert с некоторым сообщением под строкой JSON.Parse, но не повезло. Можем ли мы найти работу вокруг этого проблема?JSON.parse не работает на IPad сафари

Заранее спасибо.

Вот 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

+0

сможет использовать ваш код здесь. –

+0

Или попробуйте использовать jquery.ParseJSON() –

ответ

6

данные JSON является действительным, но когда строки, которые выглядят как даты или строк присутствуют в HTML-узле, iPad и iPhone автоматически создадут интерактивные ссылки. Таким образом, в основном ваш JSON становится искаженным, когда вы помещаете его в стандартный узел HTML DOM.

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 name="format-detection" content="telephone=no"> <meta name="format-detection" content="date=no"> <meta name="format-detection" content="address=no">

Однако стоит сказать, что при вставке служат данные на сторону в Javascript data- атрибута или инлайн JS является наиболее часто используемым методом - именно для такого рода причины.

+0

Большое спасибо за это удивительное объяснение :) но метатег, который вы сказали выше, не работал. Вместо этого я пробовал этот метатег , и он работает. Можете ли вы сказать мне, почему это произошло? –

+0

Я добавил ваш ответ там - есть разные типы данных, которые вы можете сказать яблоку, чтобы он не автоматически вносил ссылки. Похоже, что 'telephone = no' - это то, что вам нужно сделать, чтобы остановить ссылки форматирования, которые выглядят как даты. Это кажется странным, но я подтвердил это здесь: http://jsfiddle.net/8wptohs0/5/ (см. Метатеги на панели CSS) –

+0

Я проверил вашу скрипку в iPad после удаления содержимого с панели css. Это не работает. в то время как только включая этот телефонный метатег, он начал работать. в любом случае ваш ответ был действительно полезен для меня. Спасибо тонну! –

Смежные вопросы