2014-02-05 120 views
1

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

有人可以告诉我怎么做到这一点?

谢谢!

+0

向我们显示您的代码 –

+0

如果您想要访问本地文件的内容,您可以使用File API(http://docs.phonegap.com/en/2.4.0/cordova_file_file.md.html)。但是,您必须确切知道文件的存储位置,您需要获得访问权限。我不认为这是一种好方法。你真的想用你的应用程序做什么? – Sebastian

+0

应用程序应该定期提供由http webservice调用填充的本地缓存。在jQuery的$ ajax中,我需要从缓存或从ajax函数中提供的url中获取数据。我必须实现脱机启用基于手机的jQuery手机应用程序... – Martin

回答

1

您可以尝试重新定义$就功能是这样的:

$.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); 
} 

请注意,如果你需要使用的承诺,你将不得不在函数中添加多余的线条。