我在一次考试中遇到了ajax问题

Geo*_*pov 5 ajax jquery json

我在考试中碰到了这个问题.有人可以帮忙吗.在我的研究中,我发现dataType类似于'json'或'xml',而不是精确的mime类型.另一方面接受使用文字对象来定义mime-types.(由此判断).就像是:

$.ajax({
    url: ...
    dataType: 'json',
    accepts: {
        xml: 'text/xml',
        text: 'text/plain'
    }
});
Run Code Online (Sandbox Code Playgroud)

内容类型适用于

将数据发送到服务器时,请使用此内容类型.

来自jQuery文档.

如果有人可以帮助解决这个问题会很棒.谢谢.

考试问题:

您正在开发一个从Web服务检索数据的Web应用程序.要检索的数据是名为bint的自定义二进制数据类型.数据也可以用XML表示.在页面上定义了两个名为parseXml()和parseBint()的现有方法.

申请必须:?如果可能,使用二进制格式从Web服务检索和解析数据?当二进制格式不可用时,使用XML检索和解析来自Web服务的数据

您需要开发应用程序以满足要求.你该怎么办?(要回答,请将相应的代码段拖动到正确的位置.每个代码段可以使用一次,多次使用,或者根本不使用.您可能需要在窗格之间拖动拆分栏或滚动查看内容.)

码:

var request = $.ajax({
    uri: '/',
Run Code Online (Sandbox Code Playgroud)

选项1: accepts: 'application/bint, text/xml',

选项2: contentType: 'application/bint, text/xml'

选项3: dataType: 'application/bint, text/xml'

    dataFilter: function(data, type) {
Run Code Online (Sandbox Code Playgroud)

选项1: if(request.getResponseHeader("Content-Type" == 'application/bint')

选项2: if(type == 'application/bint')

选项3: if(request.mimeType == 'application/bint')

    },
    success: function(data) {
        start(data);
    }
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*ari 5

我认为这里的关键是这一点:

正在检索的数据是名为 bint 的自定义二进制数据类型。

这意味着您正在期待bint,而不是发送bint。因此,这里的答案是accepts

对于第二部分:

  1. type不是 MIME 类型,它是一个字符串(来源在这里
  2. request.mimeType不是XmlHttpRequest(来源here)的有效属性

因此答案是request.getResponseHeader("Content-Type") == 'application/bint'(来源在这里