我有一些页面是用Javascript / Jquery编写的,并利用了AJAX / REST(页面位于SharePoint上,其余引用的数据也来自同一SharePoint位置)。
在桌面上,在装有Chrome / IE的Windows中,拉取信息没有问题(一切都会按预期显示)。但是,在iOS中,页面仅部分加载信息。我已经将问题范围缩小到与遍历REST响应有关的内容,但是我不确定它是什么。
由于我没有调试器或无法直接访问iOS移动设备,因此我能够使用户使用$('。')。append('')进行测试,并带有各种内容来尝试确认什么正在归还。
我能够确认浏览器确实返回了data.d.results.length(115)的正确计数。但是当涉及到问题时,似乎只要它对“ FilterTwo”代码行的评估为真,该代码就会退出,而不会出现任何问题。
$.fn.GetOneonOneSet =function(FormGroup, FormSubGroup){
$.ajax({
"url": URL,
"method": "GET",
"headers": {
"accept": "application/json; odata=verbose"
},
"success": function (data) {
data.d.results.forEach(function(a){
if(a.FilterOne.results.indexOf(FormGroup)!=-1) {
if(a.FilterTwo.results.indexOf(FormSubGroup)!=-1) {
if($('.MainBlockName).length===0){
$('.ActiveForm').append('<div class="MainBlockName"> form block info<div class="BodyBlockName"></div></div>');
//MainBlockName and BodyBlockName have additional strings added to them, so only one instance of each shows.
} else {
$('.BodyBlockName).append('<div>Sub Block info</div>');
}}}}})}
没有错误消息,在这种情况下,我无法直接访问浏览器。但是,如前所述,我在ForEach循环中添加了一些额外的代码,该代码将在循环时写入页面。它循环遍历返回的前20个左右的项目,但是其中一个项目通过if(a.FilterTwo.results.indexOf(FormSubGroup)!=-1){似乎会停止代码。
如果有帮助,则代码正在构建表单,如果表单显示特定问题,则FilterOne和FilterTwo是对控件中数据库选择的引用。此表中总共有115个问题,应该显示30个左右,但是这些问题都没有说明DOM本身。
请让我知道是否需要其他详细信息!