2014-06-05 51 views
1

你好,我正在创建一个jsonp API,我在我的$.ajax()设置中使用cache = false。但是,我的服务器在每个url GET参数前面都需要一个特定的前缀。jQuery jsonp缓存,有没有办法改变时间戳url key?

ex。 http://www.domain.com/test?_prefix_age=29

我已经完成了这样的事情,但我不能找到一种方法来增加我的前缀缓存时间戳参数_:{TIMESTAMP}

从jQuery的$.ajax()文档:

缓存(默认:真,假的dataType'script'和'jsonp')类型: 布尔如果设置为false,它将强制请求的页面不被浏览器缓存为 。注意:将缓存设置为false只能正确使用HEAD和GET请求 。它通过在GET参数中追加 “_ = {timestamp}”来工作。 其他类型的请求不需要此参数,IE8中除POST已发送到已由GET请求的URL 外。

是否有任何方法可以添加timestamp参数的前缀infront,而不会在内部搞乱jQuery?

回答

0

你可以不使用jQuery。例如:

<script> 
function processJSON (json) { 
    // Do something with the JSON response 
}; 

// Create a new script element 
var script_element = document.createElement('script'); 

// Set its source to the JSONP API 
script_element.src = 'http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=processJSON&tags=monkey&tagmode=any&format=json'; 

// Stick the script element in the page <head> 
document.getElementsByTagName('head')[0].appendChild(script_element); 
</script> 

创建自己的JSONP函数的障碍可能足够低,以至于跳过试图让jquery工作?

取自http://schock.net/articles/2013/02/05/how-jsonp-really-works-examples/

相关问题