如何从php页面获取响应?

时间:2013-12-13 06:51:02

标签: javascript php html

我需要将锚标签上的文本框值发送到checkID.php并显示从html页面中的php页面发送的响应。我尝试过使用javascripts。但该页面被重定向到checkID.php页面。需要在同一个html页面中显示。

<a href="#" onclick="javascript:fillContent('checkID.php'); ">
    Check Availability
</a>

在表单操作中,我将其命名为checkID.php。 以下是我使用的javascript

<script language="javascript">
    function fillContent(resource)
    {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.open("POST", resource, true);
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4) {
                el = document.getElementById('availabilityResponse')
                el.innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.send(null);
    }
</script>

下面是我的PHP代码

<?php    
require_once('lib/nusoap.php'); 
$client=new nusoap_client("http://localhost/server.php?wsdl"); 
$error = $client->getError();
if ($error) {
     return $error;
}
$alias=$_POST['id'];
$response = $client->call("checkAvailability", array("id" => $alias));
 if($client->fault)  
 {  
    return $client->faultstring;  
 }  
else 
 {  
    $error = $client->getError();
    if ($error) {
       return $error;
    }
    else {
        return $response;
         }
 }
?>

如何获取响应并在html页面中显示?

3 个答案:

答案 0 :(得分:1)

不确定为什么会重定向,但在PHP文件中 -

而不是

return $response;

使用

echo $response;

在ajax个案

中始终使用echo代替return

答案 1 :(得分:0)

该代码不应重定向到该页面。取消点击操作,看看是否有帮助。

 onclick="fillContent('checkID.php');return false"

答案 2 :(得分:-1)

我建议你使用jquery。它非常简单

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$("#myID").on("click",function(){
$.ajax({ url: 'checkID.php',
                                        type: 'post',
                                        success: function(output) {
                                                   $("#availabilityResponse").html(output);
                                                 }
                                    });
})

</script>
</head>
<body>
<a href="javascript:;" id="myID" ">Check Availability</a>
</body>
</html>