【问题标题】:Javascript Ping by Downloading JSON fileJavascript Ping 通过下载 JSON 文件
【发布时间】:2014-06-17 01:19:38
【问题描述】:

我正在尝试通过 javascript 下载 JSON 文件以用于 ping 测试,但浏览器似乎将其解释为 javascript 并给出解析错误。这是代码:

function sprawdz(adres)
    {
     //ping = 0;                            
     startTime = new Date().getTime( );

     $.ajax({
       type: 'GET',
       //url: 'http://'+adres+'/img/loading.gif',
       url: 'URL TO JSON FILE HERE',
       dataType: 'jsonp',
       async: false,
       setup: function() {
        //
       },
       complete: function(xhr, text)
       {
        //alert(xhr.status + ' - ' + xhr.responseText + ' - ' + xhr.status);
        finishTime = new Date( ).getTime( );   
        ping = finishTime - startTime;
        //pngud(ping);
       }
      }
     );
     //return ping + ' ms';
    }

【问题讨论】:

  • 请显示错误的确切位置和错误信息。
  • @Pekka:从技术上讲,该图片确实提供了您所要求的内容。
  • @Matt 在我发表评论时不在那里。如果现在我们可以得到翻译后的行号... :)
  • @Pekka:是的,我知道。 head ===> desk

标签: javascript json jsonp


【解决方案1】:

您指定的是JSONP 中的dataType。 JSONP JavaScript。

你是说dataType: 'json'吗?


让我们尝试更好地了解服务器实际发送给您的内容。试试这个:

$.ajax({
    type: 'GET',
    url: '/json/ping',
    dataType: 'text',
    async: false,
    success: function(data) {
        console.log(data);
    }
});

控制台中显示了什么?

【讨论】:

  • @William 感谢您为屏幕截图所做的努力,但我们需要知道错误出现在哪一行。从图像中无法分辨。
  • @William:当你使用dataType: 'json' 时发生了什么?服务器实际发回的数据是什么?详细说明 Pekka 的评论 - 如果我们看不到 该行上的代码是什么,则行号是没有用的。
  • 它返回上面发布的图片中的内容。
  • @William:我向你保证,这不是服务器发回的。这些是 HTTP 请求标头(它是 浏览器 发送到 服务器 的一部分)和一些 JavaScript 错误消息。查看我的编辑。
【解决方案2】:

它被解释为 json 并且应该是一个有效的 json 字符串。 但是,您对“ping”的定义到底是什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2011-03-30
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    相关资源
    最近更新 更多