2015-03-31 2 views
2

Рассматривая множество примеров того, как получить переменную PHP, отправленную в файл JavaScript, я все еще не успел ее получить.Невозможно получить переменную PHP в файле JavaScript с помощью AJAX

Моего PHP файл:

$title = $json["title"]; 

echo json_encode($title); 

И мой файл JavaScript app.js является:

$.ajax({ 
      url : 'index.php', 
      type : 'GET', 
      data : film, 
      dataType : 'json', 
      success : function (data) { 
       alert(data.title); 
       console.log(data.title); 
      }, 
     }) 

Я хотел бы знать правильный код, чтобы получить переменные PHP $ названия на AJAX звоните в app.js.

Благодаря

ответ

2

В этом примере есть два файла. У одного есть метод JQuery ajax. Другой файл - это PHP-скрипт, который возвращает запрошенную информацию.

show_title.html

<!-- JQuery library already loaded --> 
<script> 

$.ajax({ 
    url : 'get_title.php', // requesting a PHP script 
    dataType : 'json', 
    success : function (data) { // data contains the PHP script output 
     alert(data.title); 
     console.log(data.title); 
    }, 
}) 

</script> 

get_title.php

<?php 

$json["title"] = 'a title'; 
echo json_encode($json); 

?> 
+0

имеет значение, где php-код помещается в php-файл? я в настоящее время имею его в сеансе cURL и что сеанс cURL закрывается сразу после того, как я повторил json_encode(); Я пробовал это за пределами сеанса, и он все еще не звонит в успех console.log. – azmatrix

+0

Чтобы сузить проблему, попробуйте отправить эти простые примеры без CURL. Тогда вы должны быть в состоянии определить, есть ли проблема в вашем JavaScript или в вашей сессии CURL. Я протестировал этот пример, прежде чем опубликовал его, и он работал нормально. Если вы обнаружили, что проблема находится в вашей сессии CURL, отправьте еще один вопрос об этом. – bloodyKnuckles

2

Если вы хотите .title недвижимости на ответ, то вы должны создать массив затем закодировать, что вместо. У тебя все наоборот. Что-то вроде этого:

PHP

<?php 

$title = 'Yahoo!'; 
$json['title'] = $title; 
echo json_encode($json); 
+0

делает это независимо от того, где код PHP находится в файле PHP? я в настоящее время имею его в сеансе cURL и что сеанс cURL закрывается сразу после того, как я повторил json_encode(); я пробовал его за пределами сеанса, и он все еще не звонит в успех console.log – azmatrix

+0

да его хорошо, если контейнер данных определен и не пуст. конечно, убедитесь, что он не пуст, и вы делаете кодировку и эхо в конце (скорее всего, в финальных строках файла PHP) – Ghost