Ajax请求 - > request.readyState问题

时间:2016-11-08 09:31:05

标签: javascript jquery ajax

我无法在此页面上执行php,因为内容存储在mysql数据库中,但我可以放入javascript / jquery / ajax。

我需要它来获取一些细节,以便页面可以是动态的。所以我构建了一个php脚本,它将输出所需的数据,如下所示:

 string=value|string2=value here|string3=value there

它位于同一个域中,所以不是交叉网址...

这是我正在尝试使用的ajax,它是我几年前创建的另一个网站上的代码,但我无法让它工作,我将分享我在下面看到的代码和响应。

我在数据库页面上加载代码:

function createRequest() {
    try {
        request = new XMLHttpRequest();
    } catch (tryMS) {
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (otherMS) {
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (failed) {
                request = null;
            }
        }
    }
    return request;
}


function cpf(tpg) {
    request = createRequest();
    if(request == null) {
        alert("Unable to Create Request");
        return;
    }
    var nocache = new Date();
    var url = "/pull_data.php?t=" + tpg;
    url = url + "&stopIEcache="+ nocache;

    request.open("GET",url,true);
    request.onreadystatechange = showtpage();
    request.send(null);
    return true;
}

function showtpage() {
    if(request.readyState == 4) {
        if(request.status == 200) {
            detailDiv = document.getElementById("showPageHere");
            detailDiv.innerHTML = request.responseText;
        } else {
            alert('Req Failed...');
        }
    } else {
        alert('request failed.' + request.readyState);
    }
}

我在页面上放了一个链接,就像这样调用它:

<a href="javascript:void(0)" onclick="if(cpf(customdata)) {alert('ran and customdata = ' + customdata);} else {alert('pow, did not work... hmm');}">Click here to run code</a><br />
<div id="showPageHere"></div>

customdata在别处设置,它会提醒我这些数据,因此它已填充......

第二个警报来自代码,它有:

request failed. 1

所以答案是1

你知道它为什么不起作用吗?

因为它调用的php文件在同一个url上,所以我很遗憾它为什么不能正常工作。

我感谢你帮助我找到错误,我上周末一直在努力,比如超过20个小时,我无法理解。

0 个答案:

没有答案