Ajax将nonce附加到js文件

时间:2014-01-29 18:07:38

标签: javascript jquery ruby-on-rails ajax

每次向rails web服务发送请求时,我都会在所有和任何js文件中附加一个唯一的nonce(我认为是时间戳):

errors

我很确定错误与ajax调用有关,因为jquery.ajax documentation在你的ajax请求中声明cache:true将阻止ajax将“_ = {timestamp}”附加到获取参数。

我设置cache: true没有运气。我怎么能阻止这些瑕疵的应用呢?

AJAX:

$.ajax({
   beforeSend: function (xhr) {
      xhr.setRequestHeader ('Authorization', api_key);
   },
   cache: true,
   dataType: 'html',
   type: 'GET',
   url: url+'/gwsearch/ajax_search?d1='+d1_val+'&d2='+d2_val,
   crossDomain: true,
   success:function(result) {
      $("#display").html(result);
   },
   error: function(result) {
      $('#display').html('Unauthorized client.');
   }
});

1 个答案:

答案 0 :(得分:3)

我使用ajax prefilter解决了这个问题:

$.ajaxPrefilter('script', function(options) {
options.cache = true;
});