来自纯javascript的ajax调用不返回来自远程php文件的响应(无jQuery)

来自纯javascript的ajax调用不返回来自远程php文件的响应(无jQuery),php,javascript,ajax,http-headers,cross-domain,Php,Javascript,Ajax,Http Headers,Cross Domain,我使用纯javascript对驻留在远程服务器中的PHP文件进行ajax调用。但它没有回应 进行ajax调用的页面位于mylocalhost中 以下是ajax调用代码: if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadys

我使用纯javascript对驻留在远程服务器中的PHP文件进行ajax调用。但它没有回应

进行ajax调用的页面位于mylocalhost

以下是ajax调用代码:

if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    }
    else{
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            if(xmlhttp.responseText == 1){
                document.getElementById("update").innerHTML = "Update Successfull";
            }
        }
    }
    //https://flo2go-airteliptv.rhcloud.com
    xmlhttp.open("POST",'https://xyz.com/purchasereturn.php',true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send("setflag=1");
远程服务器上的PHP代码如下所示:

<?php
header('content-type: application/javascript; charset=utf-8');
    $purchasevalue = 0;
    while($purchasevalue != 1){
        $query = "SELECT * FROM purchase WHERE purchase_id = 1";
        $result = mysql_query($query);
        while($row = mysql_fetch_array($result)){
            $purchasevalue = $row['purchase_flag'];
        }
    }
    //$purchasevalue = "{purchase:$purchasevalue}";
    echo $purchasevalue;
?>


我怎样才能得到答复?请帮助。

为什么要问
如果(xmlhttp.responseText==1){
xmlhttp.responseText是实际的响应,我看到您返回json,因此它永远不会返回1,因此它永远不会进入if

您是否尝试使用浏览器开发工具查看发生了什么?为什么要将内容类型设置为js?不发送-检索!javascript代码
document.getElementById(“更新”).innerHTML=“Update Successfull”
将永远不会出现,因为responseText不是1-它是一个jsonOk-值$purchasevalue是多少-尝试在inspector中查看您从服务器返回的内容(可能您的数据库或其他方面有错误…)不,数据库中没有错误,因为我直接执行了PHP文件,它返回了1。顺便说一句,$purchasevalue将是1。因此,您的代码现在没有问题-我在我的服务器上对其进行了本地测试-我的PHP echo是1-并且工作正常。如果不适合您,请发布整个周期,包括html