Jquery AJAX将响应随机返回为NULL

Jquery AJAX将响应随机返回为NULL,jquery,ajax,json,Jquery,Ajax,Json,这是我创建的小部件-。它运行良好,正如预期的那样……大部分情况下。问题是,有时Ajax响应会随机为空“数据为空”是我得到的错误。我一直在试图找出这个问题的原因。任何帮助都将不胜感激 下面是PHP文件的内容 header("Content-Type: application/json"); //header("Content-Type: text/javascript"); $domain_name = $_GET['domain_name']; $tld = $_GET['tld']; $t

这是我创建的小部件-。它运行良好,正如预期的那样……大部分情况下。问题是,有时Ajax响应会随机为空“数据为空”是我得到的错误。我一直在试图找出这个问题的原因。任何帮助都将不胜感激

下面是PHP文件的内容

header("Content-Type: application/json");
//header("Content-Type: text/javascript");

$domain_name = $_GET['domain_name'];
$tld = $_GET['tld'];

$text = file_get_contents("http://www.some.com/some.php?action=caajax&domain_name=$domain_name&tld=$tld");
echo $text;
前面我使用的是Content-Type:text/javascript,如您所见。但错误的发生要多得多。所以我尝试了Content-Type:application/json,虽然这大大减少了错误的发生,但并没有消除它

我仍然在学习这些东西。。你知道为什么会发生这种事吗

编辑: 根据Codo的建议,我使用firebug研究了ajax概要文件。在正常成功的ajax调用中- 参数|标题|响应| json

但错误是—— 参数|头|重写| XML


下图-

您的问题在于您没有将响应编码为JSON。无论您在标题中设置了什么,都必须是您作为内容回显的内容。另外,text/javascript并不是一个好的头文件。如果您只是想从该链接中回显html,那么它应该是text/html

以下是JSON的代码:

header("Content-Type: application/json");
//header("Content-Type: text/javascript");

$domain_name = $_GET['domain_name'];
$tld = $_GET['tld'];

$text = file_get_contents("http://www.some.com/some.php?action=caajax&domain_name=$domain_name&tld=$tld");
echo json_encode($text);

如果您将内容类型更改为文本,该怎么办?打开Firebug、Fiddler或类似工具,发布导致错误消息的最后一个请求和最后一个响应。这将极大地帮助我们诊断问题的原因。@cWallenPole-正如我前面所说,我使用了text/javascript,所以我相信它也支持内容类型text。。正当这并没有解决问题。@Codo-ya想到了这一点,认为我有错误报告代码通知我。。当发生错误时,但当时我无法复制错误。也就是说,我将尝试在出错时捕获标题并将它们放在这里。但我也在想,我能不能在我的错误报告(即请求\响应\标题)中捕捉到它?这里有人有解决方案吗???我在我的原始帖子中添加了显示Ajax请求头信息的图像URL。请有人帮忙!嘿,Kyle忘了提到some.php文件以这种格式返回数据-{dfasdasdasad.com:{status:available,classkey:domcno}}。。这需要json编码吗?哦,好的。如果这是回显的内容,那么它就是有效的json。唯一的问题是dfasdasdsad.com有一个。在它中,当尝试在javascript中使用返回的json对象时,这将导致问题。你能在你的帖子中发布你用于ajax调用的Javascript吗?嘿,Kyle,我不能在这里添加它,因为字符限制-你可以在上面提到的URL上查看它。并使用firebug或等效工具检查Element,以查看所使用的ajax方法