gpt4 book ai didi

升级到v1.5时jquery ajax出错

转载 作者:行者123 更新时间:2023-12-01 02:25:16 29 4
gpt4 key购买 nike

我从 v1.4.4 升级到 v1.5。我想我已经发现了下面的问题

$(document).ready(function(){

// Get token on page load.
update_csrf_token();

该函数看起来像这样...已编辑

function update_csrf_token()
{
$.ajax({
type: "GET",
url: "<?php echo site_url('includes/csrf_token/'); ?>",
dataType: "json",
jsonp: false,
jsonpCallback: "callbackName",
success: function(data) {
csrf_token = data.csrf_token;
return data.csrf_token;
}
});
}

我在 firebug 中查找了 ajax 请求,它似乎将 ?_=1297353567948 添加到了 url 的末尾,这使得 csrf token 无法生成。我该如何摆脱这个问题,或者它是 1.5 的新功能,我无能为力?谢谢

最佳答案

jQuery 1.5 将自动添加随机回调参数,但您可以通过设置 jsonpjsonpCallback jQuery ajax 设置来覆盖它。

来自jQuery Ajax API :

As of jQuery 1.5, setting the jsonp option to false prevents jQuery from adding the "?callback" string to the URL or attempting to use "=?" for transformation. In this case, you should also explicitly set the jsonpCallback setting. For example, { jsonp: false, jsonpCallback: "callbackName" }.

下划线参数 (?_=...) 是一个包含变化时间戳的参数,从而使请求 URL 始终显示浏览器以前从未见过的内容,并强制执行实际的 HTTP 请求。通过将 cache: true 设置添加到 .ajax() 调用(或通过全局设置:jQuery.ajaxSetup({cache :true});。该设置默认为 true,数据类型为 scriptjsonp

关于升级到v1.5时jquery ajax出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4959118/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com