如何测试ajax错误回调?

时间:2012-09-17 08:49:48

标签: javascript jquery selenium qunit

在ajax请求中如何测试错误回调?是否可以模拟网络连接错误?

    $.ajax({
        url: "myUrl",       
        type: 'post',
        dataType : "json",
        data : ({
            myJson
        }),
        success : function(jsonSaveResponse) {  

        },
        error: function (xhr) {

    } 

    }); 

4 个答案:

答案 0 :(得分:21)

您可以简单地将不正确的URL放入AJAX调用的URL属性中。

答案 1 :(得分:3)

我所做的只是在发出AJAX请求之前关闭我的服务器,这将模拟服务器没有响应。

请记住,在刷新更改之前,需要重新打开它。

答案 2 :(得分:1)

您必须存根ajax请求,并返回将触发错误回调的自定义响应。您可以使用Javascript测试框架轻松完成此操作,例如Jasmine

答案 3 :(得分:1)

如果您的URL是PHP页面,您可以执行以下操作:

<?php
    header("HTTP/1.0 404 Not Found");
    exit();
    //the rest of your code

您可以稍后在测试错误功能时对其进行评论。