当前位置: 首页 > 面试题库 >

我可以使用AJAX +跨域+ jsonp测试URL是否可访问吗?

端木安国
2023-03-14
问题内容

我正在使用JQuery从URL中获取信息并异步显示在我的页面上。该URL来自其他域,因此我使用JSONP来获取数据。很好

但是,当远程URL关闭时(偶尔发生),我的页面挂起,因为JQuery
AJAX
没有调用“成功”或“错误”功能。

我正在使用JQuery 1.7。

我的代码如下:

    $.ajax({
        type : "GET",
        url : "http://otherdomain.com/somePage.html",
        data : params,
        dataType : "jsonp",
        jsonp : "jsonp",

        success : function (response, textS, xhr) {
            alert("ok");
        },
        error : function (xmlHttpRequest, textStatus, errorThrown) {
            alert("not ok " + errorThrown);
        }
    });

如果“ somePage”启动,那么我会看到消息“确定”。如果“ somePage”无法访问,那么我什么也看不到。

关于如何获取“错误”功能的任何想法都会被调用?或更重要的是,如何检测跨域URL是否可访问?

那有可能吗?

谢谢,


问题答案:

添加一个 timeout

$.ajax({
        type : "GET",
        url : "http://otherdomain.com/somePage.html",
        data : params,
        timeout:3000,
        dataType : "jsonp",
        jsonp : "jsonp",

        success : function (response, textS, xhr) {
            alert("ok");
        },
        error : function (xmlHttpRequest, textStatus, errorThrown) {
            alert("not ok " + errorThrown);
             if(textStatus==='timeout')
              alert("request timed out");
        }
    });


 类似资料:
  • 我想知道是否有人试图使用jmeter测试gRPC应用程序。 我希望 我可以使用非阻塞/异步存根编写一个gRPC客户端类,该存根对服务器进行非阻塞调用, 创建上述客户端的Jar 将Jar导入JMeter 使用Jeter BeanShell采样器中的Java方法 在花时间尝试上述方法之前,我想看看是否有人尝试过类似的方法 如果上述解决方法有效? 每个线程会创建一个单独的传输控制协议吗? 我们已经用py

  • 问题内容: 我想测试使用Java可以访问远程系统,或者换句话说使用Java“发送ping”。该功能应封装在具有布尔值的方法中,例如 我已经测试了Java Process类,但是由于使用OutputBuffers进行复杂的输出处理,因此我认为这不是最好的方法。 另一种可能性是创建一个Socket Connection并处理抛出的异常,但是如果远程系统是一个“裸”的Unix系统,则另一端可能没有Soc

  • 问题内容: 我想用以下代码用jquery ajax解析JSON数组数据: 我的JSON数据是: 但是我没有任何输出…任何人请帮忙… 问题答案: 概念解释 您是否正在尝试进行跨域AJAX调用?意思是,您的服务不在同一Web应用程序路径中托管吗?您的Web服务必须支持方法注入才能执行JSONP。 您的代码看起来不错,并且如果您的Web服务和Web应用程序托管在同一域中,则该代码应该可以正常工作。 当您

  • 本文向大家介绍浅析JSONP之解决ajax跨域问题,包括了浅析JSONP之解决ajax跨域问题的使用技巧和注意事项,需要的朋友参考一下 JSON和JSONP   JSONP和JSON好像啊,他们之间有什么联系吗?   JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。对于JSON大家应该是很了解了吧,不是很清楚的朋友可以去json.org上了解下,简单易

  • 本文向大家介绍表单可以跨域吗?相关面试题,主要包含被问及表单可以跨域吗?时的应答技巧和注意事项,需要的朋友参考一下 表单可以跨域。 form提交是不会携带cookie的,没有办法设置一个hidden的表单项,然后通过js拿到其他domain的cookie,因为cookie是基于域的,无法访问其他域的cookie。所以浏览器认为form提交到某个域,是无法利用浏览器和这个域之间建立的cookie和c

  • 问题内容: 是否有一个(独立的!)Java API,它将XML- RPC接口包装到bugzilla?我不想为此编写自己的api,而且我实际上找不到能够做到这一点(而且只能做到这一点)的库。 更新: 我正在寻找 只用Java编写的类似http://oss.dbc.dk/bugzproxy/的东西 问题答案: 我知道这是一个有点老的话题,但是有相同问题的人很可能会在这里落下来。我想分享一篇博客文章,我