我需要使用ajax编写一个php代码来获取http://www.w3schools.com/webservices/tempconvert.asmx/FahrenheitToCelsius网络服务器的响应。下面是发布请求并获得响应的代码。因为它是一个帖子请求,网站得到刷新。没有刷新我需要回应。我不知道如何在ajax中做到这一点。请帮我。非常感谢。
<?php
if (isset($_POST['Fahrenheit'])&&$_POST['Fahrenheit']!=null) {
$out = print_name($_POST['Fahrenheit']);
}
else {
print_form();
}
function print_name($name) {
$ch = curl_init();
$far = 'Fahrenheit='.$name;
curl_setopt($ch, CURLOPT_URL,"http://www.w3schools.com/webservices/tempconvert.asmx /FahrenheitToCelsius");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$far);
// http_build_query(array('postvar1' => 'value1')));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
echo 'It is: '.$server_output;
return $server_output;
}
function print_form() {
echo '
<form method="post">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td>
<input class="frmInput" type="text" size="30" name="Fahrenheit">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input name="cel" type="submit" value="Submit" class="button">
</td>
</tr>
</form>
';
}
请帮帮我。
答案 0 :(得分:0)
既然你的问题是“请做我自己的功课”,我的回答指向一个好的网站,你可以做自己的作业:http://ajaxpatterns.org/XMLHttpRequest_Call
您要做的是在javascript中使用xmlHTTPRequest()对象将数据发布到网络服务器并阅读回复。
上面链接的页面有一个到演示的断开链接,这里是正确的:http://ajaxify.com/run/xmlHtttpRequestCall/
并且页面的来源非常有趣,例如请考虑以下代码段:
function createXMLHttpRequest() {
try { return new XMLHttpRequest(); } catch(e) {}
alert("XMLHttpRequest not supported");
return null;
}
var xhReq = createXMLHttpRequest();
xhReq.open("GET", "sumGet.php?figure1=5&figure2=1", false); //here method of sending data and server page where to send to
xhReq.send(null);
var serverResponse = xhReq.responseText;
$("response").innerHTML = serverResponse;