我正在进行一次ajax调用,在success
函数中我正在使用JSON.Parse
函数。但问题是JSON.parse
函数在除 iPad-Safari浏览器之外的任何地方都有效( iPad版~7.0.6 )。在iPad Safari中,我使用JSON.Parse
的行之后的代码似乎没有被执行。我试过{{1}在alert
行下面有一些消息,但没有运气。我们能找到解决这个问题的方法吗?
提前致谢。
这是我正在运行的 SCRIPT :
JSON.Parse
var obj = JSON.parse($('#divWOListForFE').html());
alert('hello'); //this alert doesnt execute on iPadSafari
$('#divWOListForFE').html('');
BindWorkOrderGrid(obj, 1, 10);
的值低于
$('#divWOListForFE').html()
答案 0 :(得分:7)
JSON数据有效但是当HTML节点中存在看起来像Dates或Strings的字符串时,iPad和iPhone都会自动创建可点击的链接。因此,当您将JSON放入标准HTML DOM节点时,您的JSON基本上会受到损害。
JS小提琴,显示它在桌面上工作: http://jsfiddle.net/8wptohs0/1/
这个相同的JS小提琴在iPhone模拟器上不起作用(没有警报):(如果仔细观察,你可以看到模拟器已将StartDate
字段数据转换为蓝色可点击链接)
如果我删除了StartTime
属性数据,它可以在桌面和iPhone上运行
http://jsfiddle.net/8wptohs0/2/
要解决此问题,有一些元标记可以解决这个问题 - 您可能需要尝试哪些元素适合您。
<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="date=no">
<meta name="format-detection" content="address=no">
然而值得一提的是,在将服务端数据插入javascript时,data-
属性或内联JS是一种更常用的方法 - 正是出于这些原因。
答案 1 :(得分:0)
对我来说,这个元标记在头部内部对我有用。
<head>
<meta name="format-detection" content="telephone=no">
</head>