通过ajax显示php输出
我有一个php脚本来检查域是否可用。它与结果相呼应,有4种可能的输出通过ajax显示php输出,php,jquery,ajax,Php,Jquery,Ajax,我有一个php脚本来检查域是否可用。它与结果相呼应,有4种可能的输出 不可用 有空吗 已注册,但可以转让 不能转机 我正在尝试使用ajax将域和tld发送到脚本中。如何在html中回显脚本的输出? 据我所知,如果php给出结果,则可以显示消息,但不能提取结果并在html表单下显示 基本上这就是目前发生的情况: form -> $domain $tld -> AJAX -> GET -> domaincheck.php -> $dom = $_GET['domai
form -> $domain $tld -> AJAX -> GET -> domaincheck.php -> $dom = $_GET['domain'];
$tld = $_GET['tld']; -> $domain = $dom . $tld; -> TransIP API -> $result
$result由这段php设置
try
{
$availability = Transip_DomainService::checkAvailability($domain);
switch($availability)
{
//check availability
case Transip_DomainService::AVAILABILITY_INYOURACCOUNT:
$result = htmlspecialchars($domain)
. ' is not available.';
break;
case Transip_DomainService::AVAILABILITY_UNAVAILABLE:
$result = htmlspecialchars($domain)
. ' is not available for transfer.';
break;
case Transip_DomainService::AVAILABILITY_FREE:
$result = htmlspecialchars($domain)
. ' is available for registration.';
break;
case Transip_DomainService::AVAILABILITY_NOTFREE:
$result = htmlspecialchars($domain)
. ' is registered. If you are the owner,
you could transfer it.';
break;
}
}
catch(SoapFault $e)
{
//error
$result = 'An error occurred: ' . htmlspecialchars($e->getMessage());
}
}
else
{
$domain = '';
$result = '';
}
我绝对不是编程天才,更多的是一个随意的UI设计师。因此,任何帮助都是值得感谢的:)这是完全可能的,而且这些天发生在网络上 基本上,您需要做的是让PHP脚本输出您想要的$result,然后让AJAX将其放入HTMLDOM中。下面是一个让您开始学习的示例: 在PHP脚本的末尾,添加如下内容:
echo json_encode(['result'=>$result]);
die();
这将获取$result变量,并将其放入一个数组中,其索引为'result'。然后将其编码为JSON格式,打印并终止脚本,因为脚本已经完成。(注意:除了json编码,还有其他方法可以做到这一点,但我发现它是最简单、最可扩展的解决方案)
然后,使用如下javascript:
$.ajax({
url: "your_url/with_the_php_script.php",
type: "GET",
dataType: "json",
data: { domain: "yummypizza.com", tld: "the_moon" },
success: function(data){
if('results' in data){
$('#html_element_for_the_results').html(data.results);
}
else{
alert("Uh oh, no results!");
}
},
error: function(data){
alert("Uh oh! AJAX error!");
}
})
您可能希望将其保存在函数中,并在表单提交或按钮按下时触发它,但是您正计划让用户提交数据。总之,您有几个组件:您有您要发送它的url,您要发送的数据(看看它是一个具有域和tld属性的对象,PHP脚本中的两个$\u GET变量,这就是它要发送的数据)。然后,当它完成并成功的时候,它在成功中发挥作用
使用jquery,您可以使用$(element.html('somethine here')格式替换页面上某些内容的内部html内容。因此,在希望显示$results的任何位置放置适当的ID,并在成功功能中选择它。这完全是可能的,而且现在在web上到处都可以看到 基本上,您需要做的是让PHP脚本输出您想要的$result,然后让AJAX将其放入HTMLDOM中。下面是一个让您开始学习的示例: 在PHP脚本的末尾,添加如下内容:
echo json_encode(['result'=>$result]);
die();
这将获取$result变量,并将其放入一个数组中,其索引为'result'。然后将其编码为JSON格式,打印并终止脚本,因为脚本已经完成。(注意:除了json编码,还有其他方法可以做到这一点,但我发现它是最简单、最可扩展的解决方案)
然后,使用如下javascript:
$.ajax({
url: "your_url/with_the_php_script.php",
type: "GET",
dataType: "json",
data: { domain: "yummypizza.com", tld: "the_moon" },
success: function(data){
if('results' in data){
$('#html_element_for_the_results').html(data.results);
}
else{
alert("Uh oh, no results!");
}
},
error: function(data){
alert("Uh oh! AJAX error!");
}
})
您可能希望将其保存在函数中,并在表单提交或按钮按下时触发它,但是您正计划让用户提交数据。总之,您有几个组件:您有您要发送它的url,您要发送的数据(看看它是一个具有域和tld属性的对象,PHP脚本中的两个$\u GET变量,这就是它要发送的数据)。然后,当它完成并成功的时候,它在成功中发挥作用
使用jquery,您可以使用$(element.html('somethine here')格式替换页面上某些内容的内部html内容。因此,在希望显示$results的任何位置放置适当的ID,并在success函数中选择它