AJAX случайным образом возвращает ответ как NULL - PullRequest
0 голосов
/ 11 августа 2011



Вот виджет, который я создал - http://resources.bigrock.in/affiliate/widgets/Domain_Search_widget-300x250.html. Он работает нормально и, как и ожидалось, в основном.Иногда проблема заключается в том, что случайный ответ Ajax равен нулю (то есть «data is null» - это ошибка, которую я получаю).Я пытался выяснить причину этой проблемы.Любая помощь будет принята с благодарностью.

и вот содержимое файла 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», в то время как это значительно уменьшило возникновение ошибки, но не устранило ее.происходит ??

Редактировать: По совету Кодо я изучил профиль ajax с помощью firebug.При нормальном успешном вызове AJAX были params |заголовки |ответ |json

но по ошибке было - params |заголовки |обратный ответ |XML

вот изображение - http://resources.bigrock.in/affiliate/widgets/img/error_headers.jpg

1 Ответ

0 голосов
/ 11 августа 2011

Ваша проблема в том, что вы не кодируете свой ответ как 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...