jquery的script类型ajax请求

本文记录了解决使用jQuery的AJAX进行跨域请求时遇到的问题,包括解决由缓存引起的URL参数附加问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做个小东西用到jquery的ajax
由于要从站外获取数据 也就是这个地址[url]http://hq.sinajs.cn/list=sz002004[/url](没办法对华邦制药有点感觉- -!)
先是编码问题 sina用的gb2312就不说了
结果我写ajax的时候 咋就请求的不对呢
$.ajax({
type:"GET",
url:"http://hq.sinajs.cn/list=sz002004",
dataType:"script",
success:function(data){
alert('hq_str_sz002004');
}
});

用firebug调试 url老是后面_?再加上一堆数字
结果自然也就获取不到了,问了一堆人终于解决了 在选项里加上cache就行了
这可能是由于防止js文件的缓存把,以后更新网站时也能用用 xxx.js?version=timestamp :D
最后找到jq源码 贴上 1.4.4版5829行
if ( s.dataType === "script" && s.cache === null ) {
s.cache = false;
}

if ( s.cache === false && noContent ) {
var ts = jQuery.now();

// try replacing _= if it is there
var ret = s.url.replace(rts, "$1_=" + ts);

// if nothing was replaced, add timestamp to the end
s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
}

看来以后还得多看看源码啊 完全搞懂这些框架 :idea:
第一次发帖 呵呵 不知道效果啥样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值