在我的表单中,我想对两个字段做一些事情:
“website_domain”和“website_ip_address”
我正在尝试使用 jQuery/JSON 调用 PHP 脚本,将 website_domain 传递给它,并接收包含该网站 IP 地址的 JSON。
问题/症状描述:
它部分工作:在模糊时,它获取 PHP 脚本的 url。我可以在萤火虫中看到很多。我得到一个 200 好的。根据 JSONLint,PHP 脚本的输出是有效的 JSON:
{"field":"website_ip_address","value":"74.125.225.70"}
但在 Firebug 中,我没有 JSON 选项卡。我只有参数和标题选项卡。甚至没有响应选项卡。
不用说, website_ip_address 字段也没有填充我应该从 PHP 脚本的 JSON 输出中获取的数据。
我的 PHP 脚本:
需要注意的是,目前,这个 PHP 脚本与我的应用程序位于不同的域中。也许我的整个问题是跨域?
<?php
$domain = $_GET["domain_name"];
$ip = gethostbyname($domain);
// echo $ip;
$json = array(
'field' => 'website_ip_address',
'value' => $ip,
);
header('Content-Type: text/plain');
echo json_encode($json );
?>
我的 jQuery/JSON 脚本:
请注意,这是在 Ruby On Rails 应用程序视图中编写的。
:javascript
$("#website_domain").bind("blur", function(e){
$.getJSON("http://exampledomain.com/temp_getIP.php?domain_name=" +$("#website_domain").val(),
function(data){
$('#website_ip_address').val(data);
});
});
我真的希望这不仅仅是我的语法错误。根据我在 StackOverflow 上找到的答案,我已经写/重写了 2 天,但无济于事。我只是在这里遗漏了一些东西。