【问题标题】:Phonegap intercept jQueryMobile Ajax callsPhonegap 拦截 jQueryMobile Ajax 调用
【发布时间】:2014-02-05 07:26:07
【问题描述】:

我需要在 phonegap 中截获 jquery 移动 Ajax 请求 - 在 iOS 和 Android 中本机。如果用户请求特定的 URL,我必须从本地数据存储中获取数据 - 例如文件或数据库并将数据传回 jquery。

谁能告诉我如何做到这一点?

谢谢!

【问题讨论】:

  • 先向我们展示您的代码
  • 如果您想访问本地文件的内容,您可以使用文件 API (docs.phonegap.com/en/2.4.0/cordova_file_file.md.html)。但是,您必须确切地知道文件的存储位置,并且您需要访问它的权限。我不认为这是一种好方法。你真的想用你的应用程序做什么?
  • 应用程序应该提供一个本地缓存,由 http webservice 定期调用填充。在 $ajax 中的 jquery 中,我需要从缓存或 ajax 函数中提供的 url 获取数据。我必须实现基于 phonegap 的离线启用 jquery 移动应用程序......

标签: android jquery ios ajax cordova


【解决方案1】:

您可以尝试像这样重新定义 $.ajax 函数:

$.originalAjaxFunction=$.ajax;
$.ajax=function(params){
    if(testCache){ //test params.url to check if it's already in the cache
        //get from local cache
    }
    else
        $.originalAjaxFunction(params);
}

请注意,如果您需要使用 Promise,则必须在函数中添加额外的行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多