Parse.User未在iOS上为AngularJS返回值+;科尔多瓦

Parse.User未在iOS上为AngularJS返回值+;科尔多瓦,angularjs,cordova,parse-platform,Angularjs,Cordova,Parse Platform,我正在使用Cordova和AngularJS开发一个应用程序 我一直在使用Parse.com作为应用程序的后端。该应用程序在模拟器和Android上运行良好 然而,在iPhone上加载应用程序后(在4S、5、5和6上尝试),用户查询返回一个空数组 代码如下: var userquery = new Parse.Query(Parse.User); userquery.startsWith("username", $scope.search.queryvalue); userquery.notEq

我正在使用Cordova和AngularJS开发一个应用程序

我一直在使用Parse.com作为应用程序的后端。该应用程序在模拟器和Android上运行良好

然而,在iPhone上加载应用程序后(在4S、5、5和6上尝试),用户查询返回一个空数组

代码如下:

var userquery = new Parse.Query(Parse.User);
userquery.startsWith("username", $scope.search.queryvalue);
userquery.notEqualTo("username", $rootScope.sessionUser.get("username"));
userquery.limit(20);
userquery.find({
  success: function(result) {
    $scope.people = result;
  },
  error: function(error) {
    console.log("error");
  }
});
如前所述,在使用iOS Emulator和在Android设备上测试应用程序时,此代码返回正确的结果。然而,在iPhone上,is不起作用

有人面临这样的问题吗

更新:

在对一些控制台日志进行更多测试之后,我发现了另一个错误。问题是通过输入文本框输入的变量添加了一些奇怪的正则表达式参数

console.log(userquery)

这就是输出的样子

{"where":{"username":{"$regex":"^\\QTanuj\\E","$ne":"test"},"id":{"$ne":"46JOEKKKF1"}},"limit":20}
同样,这只发生在iPhone上。有人知道为什么在搜索查询值
Tanuj
周围添加“^\\Q
\\E”

这可能是AngularJS的问题吗?有没有办法强制AngularJS不将变量放入正则表达式

进一步更新:

以下是来自emulator的控制台日志:

{"where":{"username":{"$regex":"^\\Qtanuj\\E","$ne":"test"},"id":{"$ne":"46JOEKKKF1"}},"limit":20}
这让我难以置信。在模拟器上,这些值甚至可以与$regex位一起工作。但只要它在手机上运行,结果就是空白的

这是iPhone上结果的控制台日志:
result:[]

但在模拟器上,它返回预期值

问题可能是什么?

当您说“返回空数组”时,它是否实际返回,如果您向结果中添加代码,它是否会被调用?iOS的缓存很重,它通常根本不会进行调用,以节省电池寿命和用户的网络调用。您可能希望检查它是否确实在进行调用。我看到了您显示为控制台日志的内容,但在代码中没有看到它们。