0

我正在尝试使用 jQuery 检查某个网站/端口是否被用户的计算机阻止/解除阻止。我可以让它正常工作,但有点恼火的是它会引发错误,例如“Uncaught SyntaxError: Unexpected token <”

有没有办法让jQuery在页面上做一个get请求来查看返回码,但实际上并没有把它作为javascript注入到网站中?如果没有,这段代码会有任何副作用吗?

注意:我不拥有要检查的站点,所以我不能让它们实现 jsonp。

var checkPorts = function() {
    var url = "__redacted__" ;
    $.ajax({
        url: url,
        type: "get",
        cache: false,
        dataType: 'jsonp', // it is for supporting crossdomain
        crossDomain : true,
        asynchronous : false,
        timeout : 5000, // set a timeout in milliseconds
        complete : function(xhr, responseText, thrownError) {
            if(xhr.status == "200") {
                //nothing
            }
            else {
                $("#ports-warning").slideDown();
            }
        }
    });
};
4

1 回答 1

0

没有asynchronous属性$.ajax,你的意思是async?查看浏览器的调试器并查看请求是如何发出的,它必须是 XHR 才能让您的方法有任何工作机会。此外,如果您使用的是 jQuery 1.9.x,请尝试使用 jQuery Migrate 插件。

于 2013-02-21T00:14:52.883 回答