Benim html sayfası PHP için bir ajax isteği (POST) gönderir, PHP bir json nesnesi yankı.
Kodu test edilmiş ve benim geliştirme görünümü iyi çalıştı olmuştur.
Onlar bir VPS sunucu barındırma yüklenir Ancak, sonra, iade json dize (Ben responseText görüntülemek için tepki fonksiyonunda () uyarısı kullanılan ve boş olduğunu öğrendim) boştur.
sorun hakkında herhangi bir fikrin var mı?
Ben burada yeniyim. Bir yorum eklemek için nasıl çözemedim. (Lütfen bana bildirin.)
Ben bir dize döndürmek için PHP kodu değişti, işe yaradı. bu yüzden sorun json kodlama sonradır.
yeni test.php
(çalıştı).
if(!isset($_POST['A'])||!isset($_POST['B']))
{
echo "Failed";
}
else
{
echo "OK";
}
HTML:
<html>
<head>
<title>Test Page</title>
<script type="text/javascript">
var NORMAL_STATE = 4;
function ajax_create_http()
{
var xmlHttp = 0;
try
{
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
return 0;
}
}
}
return xmlHttp;
}
var http_req_inst = ajax_create_http();
function sendHttpRequest(params)
{
if( !http_req_inst ) return;
http_req_inst.open('POST', 'test.php', true);
http_req_inst.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_req_inst.onreadystatechange = handleHttpResponse;
http_req_inst.send(params);
alert("Request sent");
}
function handleHttpResponse()
{
if( !http_req_inst ) return;
if (http_req_inst.readyState == NORMAL_STATE)
{
alert(http_req_inst.responseText);
}
}
</script>
</head>
<body>
<div>
<input type="button" value="click" onclick="sendHttpRequest('A=a&B=b')"/>
</div>
</body>
</html>
PHP:
<?php
if(!isset($_POST['A'])||!isset($_POST['B']))
{
$rc = 1;
$arr = array ('rc'=>(integer)$rc,'msg'=>'Testing failed.');
echo json_encode($arr);
}
else
{
$rc = 0;
$arr = array ('rc'=>(integer)$rc,'msg'=>'Testing passed.');
echo json_encode($arr);
}
?>
Ben test edildiğinde, responseText
boş.