Tri*_*rip 18 javascript jquery http
这个问题之前已经发布在Stack上,但没有一个具体到我想要了解的内容.
检查URL是否正确以发送http Head请求的最简单方法.但是如何使用它来指定URL?
我在上一篇文章中发现了这个:
function UrlExists(url) {
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
Run Code Online (Sandbox Code Playgroud)
但由于一些原因,它似乎没有在萤火虫中运行.
我提前道歉是为了愚蠢.
jAn*_*ndy 36
我建议使用jQuery来获得正确的跨浏览器ajax请求:
function UrlExists(url, cb){
jQuery.ajax({
url: url,
dataType: 'text',
type: 'GET',
complete: function(xhr){
if(typeof cb === 'function')
cb.apply(this, [xhr.status]);
}
});
}
Run Code Online (Sandbox Code Playgroud)
用法:
UrlExists('/path/script.pl', function(status){
if(status === 200){
// file was found
}
else if(status === 404){
// 404 not found
}
});
Run Code Online (Sandbox Code Playgroud)
现代、跨界和捷径
checkLink = async url => (await fetch(url)).ok
Run Code Online (Sandbox Code Playgroud)
这与以下内容相同:
async checkLink(url) { return (await fetch(url)).ok }
Run Code Online (Sandbox Code Playgroud)
这与以下内容相同:
async function checkLink(url) { return (await fetch(url)).ok }
Run Code Online (Sandbox Code Playgroud)
这与以下内容相同:
注意:从 Gecko 30.0 (Firefox 30.0 / Thunderbird 30.0 / SeaMonkey 2.27)、Blink 39.0 和 Edge 13 开始,主线程上的同步请求已被弃用,因为它们对用户体验有负面影响。
交叉解决方案(旧的,已弃用)
function UrlExists(url) {
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status==200;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25444 次 |
最近记录: |