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

Ajax响应中的尾随空格

家弘业
2023-03-14
问题内容

我正在尝试使用Qunit测试一些代码,但是Ajax调用存在一些问题。我什至不能让他们使用jQuery方法使用最简单的Ajax调用来正确测试。问题似乎是无论我做什么,尾随空格都被附加到textResponse上。

我的初始代码是这样的

asyncTest('Ajax calls', function() {
    expect(1);

    $.get('ajax.txt', {}, function(response) {
        equal(response, 'foo', 'Ajax calls work correctly');
    });

    setTimeout(function() {
        start();
    }, 600);
});

哪里ajax.txt是包含字符的文本文件foo。该测试失败,报告

Ajax调用可以正常工作,预期:“ foo”结果:“ foo”,diff: “ foo” “ foo”

然后,我尝试了以下方法:

  • 我已经针对“ foo”进行了测试(包括尾随空格)
  • response.replace(' ', '')在测试之前已经做过
  • 我已经改变了ajax.txt文件的字体编码
  • 每次清理缓存时,我都在Firefox和Chrome中对其进行了测试
  • 我已经手动测试了警报内是否相等,即使使用==比较

但无论如何我都无法找到比赛。例如在第一个变体中,我得到了令人困惑的答案

Ajax调用正常工作,期望:“ foo”结果:“ foo”,diff:“ foo”

我现在有点生气。我可能做错了什么?


问题答案:

您可以$.trim()(jQuery修剪,因为IE
<9本身没有它)结果,如下所示:

equal($.trim(response), 'foo', 'Ajax calls work correctly');

为什么 会这样呢?可能是格式错误,例如Unix vs Windows行尾在您那里爬行。



 类似资料:
  • 问题内容: 我正在使用jQuery发出Ajax请求。数据很好地传递到了PHP,但是响应没有正确地返回到javascript。响应之前不知何故还有一个空格。我知道这一点是因为Firebug这么说,而我的代码却无法工作,因为那里有空间。当我期望有空间时,它可以正常工作。关于增加空间的任何想法? 这是我的ajax函数: 问题答案: 在PHP文件中的标记之外寻找虚假的空白字符。执行PHP脚本时,任何此类空

  • 问题内容: 我很难尝试将.strip与以下代码行结合使用。 谢谢您的帮助。 问题答案: 您可以使用strip()删除尾随和前导空格。 注意:内部空间被保留

  • 是否可以在IntelliJ IDEA中保存时自动删除尾随空格?我知道有一些变通方法,例如,使用git在提交时修剪空白。也许这个问题是这个问题的重复,但我希望这可以在不设置键盘快捷键和宏的情况下完成。

  • 我尝试使用OracleDataSource而不是commons,以防万一,但没有用。 有人知道我做错了什么吗? 多谢了。 如果我将前面的代码修改为: 然后,由于Spring调用,由于使用了类型,删除了尾随空格,所以所有工作都按预期进行。

  • 问题内容: 甚至不确定这是否是标题问题的正确方法。我知道我把AJAX调用弄错了…这是我现在正在做的事情(顺便说一下,我正在使用ASP.NET MVC后端): 我通常将一些数据发布到操作中,该操作将加载我在响应中捕获的视图。它基本上是为操作提供一些数据,并取回一些HTML。 假设我想创建一个经过验证的Ajax调用。如何获得有关错误的验证消息?例如,一个Ajax登录表单。如果无法验证用户,我想告诉他们

  • 问题内容: 我试图显示div内ajax响应的值,为此,我在视图文件中包含以下代码。 我的控制器(ajax向其发送值): 现在,我正在尝试实现的是在我的视图文件中获取server_response值(从控制器发送的值)。 我尝试了以下代码,但未在div中显示值。 你能告诉我问题出在哪里吗? 问题答案: 问题是您混合了Ajax 处理程序的 参数。首先执行脚本返回的内容,然后执行。理论上,它可以是“超时