来自纯javascript的ajax调用不返回来自远程php文件的响应(无jQuery)
我使用纯javascript对驻留在远程服务器中的PHP文件进行ajax调用。但它没有回应 进行ajax调用的页面位于mylocalhost中 以下是ajax调用代码:来自纯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
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