Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用REST时接收到404错误后允许继续执行代码_Javascript_Rest - Fatal编程技术网

Javascript 在使用REST时接收到404错误后允许继续执行代码

Javascript 在使用REST时接收到404错误后允许继续执行代码,javascript,rest,Javascript,Rest,我正在开发一个工具,允许用户键入一些ID,并检查数据库中是否存在这些ID 该代码是为使用SOLR数据库而编写的,因此,如果ID不存在,就没有问题。现在,虽然我正在与CouchDB交谈,但是如果ID不存在,该工具将不会给出任何结果并产生404错误:404(未找到对象) 这是我的密码: // ... function caller() { if (validIDs.length === 0) { promise.resolve();

我正在开发一个工具,允许用户键入一些ID,并检查数据库中是否存在这些ID

该代码是为使用SOLR数据库而编写的,因此,如果ID不存在,就没有问题。现在,虽然我正在与CouchDB交谈,但是如果ID不存在,该工具将不会给出任何结果并产生404错误:404(未找到对象)

这是我的密码:

// ...

    function caller() {
        if (validIDs.length === 0) {
            promise.resolve();

            return;
        }

        var ID = validIDs.pop();
        var url = preURL + ID;
        var wrappedResult = {
            "ID": ID,
            "data": undefined
        };

        $.getJSON(url).done(function(data) {
            wrappedResult["data"] = data;
            caller();
        });

        wrappedResults.push(wrappedResult);
    }

    caller();

    return [promise, wrappedResults];
}
我试着使用类似于:

$.getJSON({
    url: url,
    dataType: "json",
    success: function(data) {
        wrappedResult["data"] = data;
        myForEach();
        alert('success');
    },
    error: function(data) {
        alert('error');
    },
    complete: function(xhr, data) {
        if (xhr.status !== 0)
            alert('success');
        else
            alert('fail');
    }
});
但它没有起作用。html不显示表,在控制台中:404(未找到对象)

我看了其他类似问题中提出的解决方案,但它们并没有解决我的问题


请问我的代码是否有办法继续显示接受ID的结果并指出无效ID?

jQuery Ajax 404处理没有回答我的问题。 解决问题的方法是使用 var jqXHR=$.ajax({ url:url, 键入:“获取”, }); 而不是 jqXHR.done(函数(数据){ .....}); 我曾经 始终(函数(jqXHR、textStatus、errorshown){ ........});
控制台仍显示404(未找到对象),但代码未停止且正在工作

您所说的“未工作”是什么意思?你有错误吗?控制台中是否有任何内容?是的,控制台显示url并写入:404(未找到对象)。可能与您使用的jquery版本重复,这对我不起作用?