首页 > 解决方案 > 不断调用ajax请求,直到找到某个搜索请求

问题描述

我试图继续向从 cgi 脚本输入的某个页面发送 AJAX GET 请求,直到出现一组特定的击键。

但是,我的请求并没有持续出现,事实上,当我使用函数并尝试调用该函数时,它们甚至都没有发生。我必须使用完整的成功,因为无论出于何种原因,成功后我都无法正确存储检索到的值。

这是我所拥有的:

function posts() {
    $.ajax({
        type: "GET",
        url: 'http://checkvaluestatus.sh',
        success: function(data) {
            alert(data_response.responseText);
        },
        complete: function(data_response) {
            alert(data_response.responseText);
            var viewport = data_response.responseText;
            var version = viewport.match(/Release:[^=]*/);

            if (version != null) {
                console.log(version);

            } else {
                posts();
            }
        },
        error: function() {
            console.log('failed');
            posts(); //calling the ajax again.
        }
    });

有没有办法根据满足的条件继续发送请求并且仍然存储值?

这是我用于打印值的 AJAX 调用:

$.ajax({
    url: 'http://checkvaluestatus.sh',
    type: "GET",
    dataType: "json",
    success: function(data) {
        alert(data_response.responseText);
    },
    complete: function(data_response) {
        alert(data_response.responseText);
        var viewport = data_response.responseText;
        var version = viewport.match(/Release:[^=]*/);
        document.write(version);
    },
});

标签: javascriptjqueryajax

解决方案


萨拉姆,您在成功函数中查找的值是“数据”,而不是“data_response.responseText”,因为在“成功”函数中,数据是您的响应文本,但在“完整”函数中,“data_response”是一个 jqXHR 对象包含更多信息。

在成功功能中打印您的文本替换

alert(data_response.responseText);

经过

alert(data);

更多细节“ jquery.ajax


推荐阅读