2017-01-16 6 views
0

, когда я ничего не использую в этом коде и вызываю ajax, ничего не происходит, и я смотрел на некоторых онлайн-форумах, говоря, что мне нужно использовать json encode для передачи переменных по ajax, но это просто эхо в верхней части веб-страницы.Извлечение php-переменных из ajax-вызова, но не работающего

AjaxTesting

<html> 
    <head> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script> 
    $("#test").click(function(){ 
     $.ajax({ 
      event.preventDefault(), 
      url:'ajaxUser.php', 
      type:'POST', 
      dataType: 'json', 
      success:function(data){ 
       alert(data.id); 
      } 
     )}; 
    }); 
    </script> 
    </head> 
    <body> 
    <form method="post"> 
     <input name="userName"> 
     <input name="submit" type="button" value="Submit" id="test"> 
    </form> 
    </body> 
</html> 

ajaxUser код

<?php 
    echo json_encode(array('id' => 123, 'messageid' => "test")); 
    ?> 
+0

вы можете получить эти данные в ajaxTesting.php как '$ _POST [«время»] 'и т.д. – guradio

+0

@guradio жаль я не отрываюсь правом я имею в виду, что я хочу Аякс alert() что-то от php, это всего лишь небольшой пример того, что я опустил –

+0

, что вы получаете в состоянии тревоги? – guradio

ответ

1

У вас нет event параметра, вызываемого функцией click. Не вызывайте preventDefault() в функции ajax, также вам нужно закодировать js в пределах document.ready(), если вы хотите написать в элементе заголовка !!

<html> 
    <head> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>  
    </head> 
    <body> 
    <form method="post"> 
     <input name="userName"> 
     <input name="submit" type="button" value="Submit" id="test"> 
    </form> 
    <script> 
    $("#test").click(function(event){ 
     event.preventDefault(); 
     $.ajax({ 
      url:'ajaxUser.php', 
      type:'POST', 
      dataType: 'json', 
      success:function(data){ 
       alert(data.id); 
      } 
     }); 
    }); 
    </script> 
    </body> 
</html> 

Должен работать

+0

Теперь, когда я могу получить данные благодаря вам и некоторым другим, есть способ отправить такие данные, как userName? –

0

РНР должен быть в другом файле с именем AjaxTesting.php и вы никогда не вызвать функцию post() в JavaScript. Таким образом, мы можем назвать его в форме представить обработчик события

Попробуйте добавить:

$(function(){ 
    $('form').submit(function(event){ 
     event.preventDefault() 
     post(); 
    }) 
}); 

Также обратите внимание, что страница HTML должна быть запущена на том же сервере, а не из локального файла для Ajax для работы

+0

Обновление моего вопроса до того, что у меня сейчас есть, но все еще ничего не отображающего. –

+0

Посмотрите в браузере консоль dev инструменты сетевой вкладки, чтобы узнать, был ли выполнен запрос, и что это такое: статус пользователя – charlietfl

+0

он перешел на ajaxTesting.php и показывает Uncaught SyntaxError: Неожиданный токен. –