每次向rails web服务发送请求时,我都会在所有和任何js文件中附加一个唯一的nonce(我认为是时间戳):
我很确定错误与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.');
}
});
答案 0 :(得分:3)
我使用ajax prefilter解决了这个问题:
$.ajaxPrefilter('script', function(options) {
options.cache = true;
});