微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax接收数据不用json

当我们使用AJAX向服务器请求数据时,通常会将响应数据格式化成JSON格式,然后再将其传回网页上的JavaScript脚本。然而,并不是所有的服务器都能够返回符合JSON规范的数据,有些服务器可能返回纯文本格式的数据,这时我们可以通过一些技巧来解析这些数据。

ajax接收数据不用json

假设我们向服务器发送的请求如下:

  var url = "http://example.com/some_data";
  var xhr = new XMLHttpRequest();
  xhr.open("GET",url,true);
  xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
      var responseText = xhr.responseText;
      // 如何解析纯文本格式的数据?
    }
  };
  xhr.send();

上述代码中,我们使用XMLHttpRequest对象向一个URL发送GET请求,并在服务器响应到达时执行回调函数。请求返回的是纯文本数据,我们该如何解析它呢?

一种常见的解决方式是使用正则表达式。例如,如果返回的数据格式为每行一个记录,以逗号分隔各个属性,我们可以使用以下代码解析它:

  var responseText = xhr.responseText;
  var records = [];
  var lines = responseText.split("\n");
  for (var i = 0; i 

上述代码将请求返回的文本数据按照换行符拆分成多行,然后再按照逗号拆分成多个字段。接下来,我们将每个字段依次赋值给字典对象的相应属性,并将这个字典对象添加到记录数组中。最后,我们输出记录数组,以验证解析结果。

这种解析方式虽然看起来有些麻烦,但它可以让我们处理各种不同的数据格式。当然,在返回数据时,如果服务器能够将数据格式化成JSON格式,我们仍然强烈建议使用JSON.parse()方法进行解析。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐