gpt4 book ai didi

javascript - jQuery 无法从 PHP 脚本读取 JSON 响应

转载 作者:行者123 更新时间:2023-11-30 10:39:21 24 4
gpt4 key购买 nike

在我的表单中,我想用两个字段做一些事情:

“website_domain”和“website_ip_address”

我正在尝试使用 jQuery/JSON 调用 PHP 脚本,将 website_domain 传递给它,并接收包含该网站 IP 地址的 JSON。

问题/症状描述:

部分工作:在模糊时,它获取 PHP 脚本的 url。我可以在 Firebug 中看到这么多。我得到 200 OK。根据 JSONLint,PHP 脚本的输出是有效的 JSON:

{"field":"website_ip_address","value":"74.125.225.70"}

但在 Firebug 中,我没有 JSON 选项卡。我只有 Params 和 Headers 选项卡。甚至没有响应选项卡。

不用说,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 应用程序 View 中编写的。

: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 天,但无济于事。我只是在这里遗漏了一些东西。

最佳答案

您当前正在尝试将 JS 对象(由解析的 JSON 响应形成)输出到该字段。您需要从其中 输出一个值。所以不是:

$('#website_ip_address').val(data); //data is an object, not a string

但是

$('#website_ip_address').val(data.someValue); //output a property of the object

按原样使用您的代码,我希望该字段填充对象的字符串表示形式,即 [object Object]。你没有提到这一点,所以我想知道 a) 你的成功功能是否正在触发(检查这个 - 在其中粘贴一个 console.log); b) 你的 jQ 选择器是正确的。

关于javascript - jQuery 无法从 PHP 脚本读取 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12022749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com