Javascript 使用$.ajax({dataType:';script';})时,请求只发出一次
我试图使用Javascript 使用$.ajax({dataType:';script';})时,请求只发出一次,javascript,jquery,ajax,yii2,Javascript,Jquery,Ajax,Yii2,我试图使用$.ajax({dataType:'script'})从服务器加载动态js,但请求仅在第一次尝试时触发(我从浏览器控制台运行它们) 基本上,此脚本是在url/test/script/上动态生成的: 警报(“测试”); 然后我从浏览器运行: $.ajax({ url:“/test/script/”, 数据类型:“脚本”, 键入:“POST”, }); 并发出警报 第二次尝试时,由于某种原因没有发出HTTP请求,并且$的statusText。ajax返回值为“已取消”。为什么第二次不起
$.ajax({dataType:'script'})
从服务器加载动态js,但请求仅在第一次尝试时触发(我从浏览器控制台运行它们)
基本上,此脚本是在url/test/script/
上动态生成的:
警报(“测试”);
然后我从浏览器运行:
$.ajax({
url:“/test/script/”,
数据类型:“脚本”,
键入:“POST”,
});
并发出警报
第二次尝试时,由于某种原因没有发出HTTP请求,并且$的statusText
。ajax
返回值为“已取消”
。为什么第二次不起作用呢?请像@charlietfl说的那样做
在任何地方,我都会给出两个可能的问题来检查:
- 您使用chrome控制台,因此禁用CORS。Exceute在管理模式下chrome.exe--禁用web安全--禁用gpu--用户数据目录=~/chromeTemp
- 在$.ajax选项中添加缓存:true。因为默认值为false,并且它附加了一个随机参数。这是同一个缓存false和true
- 您使用chrome控制台,因此禁用CORS。Exceute在管理模式下chrome.exe--禁用web安全--禁用gpu--用户数据目录=~/chromeTemp
- 在$.ajax选项中添加缓存:true。因为默认值为false,并且它附加了一个随机参数。这是同一个缓存false和true
- 请像@charlietfl说的那样做
在任何地方,我都会给出两个可能的问题来检查:
它在
yii.js
文件中有自己的jQuery配置,基本上,缓存类型为'script'
的ajax请求。因此,除非我设置yii.reloadableScripts=['',…]
,否则类型为'script'
的ajax请求只会触发一次。好的,所以我计算了这个
基本上,问题是我在使用Yii2。
它在
yii.js
文件中有自己的jQuery配置,基本上,缓存类型为'script'
的ajax请求。因此,除非我设置了yii.reloadableScripts=['',]
,否则类型为'script'
的ajax请求只会触发一次。为什么要对脚本发出post请求?提供一种我正在模拟rails的方式,为POST请求发出javascript响应。基本上,POST/foo/update
使用一些数据,获取$(“#foo”).replacetwith(updatedTemplate)
作为响应。您到底想实现什么?您是否试图通过发送ajax调用来响应某些javascript代码,然后尝试运行或插入文档?为什么要对script
发出post请求?提供一种我正在模拟rails的方式,为POST请求发出javascript响应。基本上,POST/foo/update
使用一些数据,获取$(“#foo”).replacetwith(updatedTemplate)
作为响应。您到底想实现什么?您是否试图通过发送ajax调用来响应某些javascript代码,然后尝试运行或插入到文档中?但是,据我所知,不要考虑更改它,因为它将开始加载您的脚本两次,并将抛出错误。但是不要考虑更改它,因为它将开始加载您的脚本两次,并将抛出错误,据我所知。数据类型:“script”
通过向URL追加一个查询字符串参数.=[TIMESTAMP]
,禁用缓存,除非缓存选项设置为true
@MuhammadOmerAslam感谢您澄清jquery为什么添加该参数数据类型:“script”
通过向URL追加查询字符串参数.=[TIMESTAMP]
禁用缓存,除非缓存选项设置为true
@MuhammadOmerAslam感谢您澄清jquery添加该参数的原因