Javascript MonoTouch-我可以用AJAX调用ShouldStartLoad吗?

Javascript MonoTouch-我可以用AJAX调用ShouldStartLoad吗?,javascript,xamarin.ios,Javascript,Xamarin.ios,首先,我要感谢米格尔·德·伊卡扎的回答!帮了我们很多忙!但是,这是最大的问题,但这是我们的问题。在UIWebView中,我们启动一个用SenchaTouch创建的“小”javascript应用程序,它显示一些图表。为了给它一点外观和感觉,这里有一些与图形的交互。有时,我们需要使用AJAX请求从后端获取更多数据(例如,对于不同的图表类型)。但是,由于后端是使用自签名证书保存的,我们知道,自签名证书不适用于webView 因此,我们尝试访问的是从JS应用程序到MonoTouch应用程序代码的AJAX

首先,我要感谢米格尔·德·伊卡扎的回答!帮了我们很多忙!但是,这是最大的问题,但这是我们的问题。在UIWebView中,我们启动一个用SenchaTouch创建的“小”javascript应用程序,它显示一些图表。为了给它一点外观和感觉,这里有一些与图形的交互。有时,我们需要使用AJAX请求从后端获取更多数据(例如,对于不同的图表类型)。但是,由于后端是使用自签名证书保存的,我们知道,自签名证书不适用于webView

因此,我们尝试访问的是从JS应用程序到MonoTouch应用程序代码的AJAX请求,以便Mono应用程序获取webview的数据并将其传递给Javascript函数,该函数使用新数据更新图表

但到目前为止,我们还无法实现这一点,因为只要我们调用location.href=”app://get/chartData我们正在记录一个“about:blank”请求,就在app://get/chartData“请求,当然,这会清空网络视图,当前图表也会消失。”。出于任何原因,使用简单的AJAX请求都不起作用。也就是说,AJAX请求不调用ShouldLoadStart回调。也许有人知道为什么

这是到目前为止我们的MonoTouch代码。这只是为了测试一般的工作流程!!;-)

非常感谢您的任何意见、想法和帮助

谢谢

编辑: 在谷歌搜索了一段时间后,我发现about:blank请求是Senach Touch的一个已知问题。 最后,我们能够通过使用我们自己的url模式来运行它:
location.href = "app://action?jsCallback=MonoCallback&jsErrorCallback=ErrorCallback&paramName1=name1&paramVal1=value1&..."
webview.shouldstartoad
回调中,我们使用System.Uri命名空间检查
app
协议,并获取所有参数和javascript回调函数名。现在我们可以在mono应用程序中执行请求。完成所有操作后,我们可以使用So调用jsCallback函数,现在一切正常,即使是异步的

webview.EvaluateJavascript(jsCallback+"("+strValues+")");
希望你们中的一些人,在webview中使用自签名证书来解决同样的工作流问题时,会觉得这个描述很有帮助。如果您对我们的“解决方案”有更多问题,请随时与我联系

谢谢

webview.EvaluateJavascript(jsCallback+"("+strValues+")");