Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.02.2013, 22:20
Кандидат Javascript-наук
Отправить личное сообщение для Vladislav Посмотреть профиль Найти все сообщения от Vladislav
 
Регистрация: 13.02.2013
Сообщений: 105

У меня было так:

$(function(){
   $("#com_wall_submit").click(function(){
      var comment=$("#comment").val();
      var id_message=$("#id_message").val();
      $.ajax({
         type: "POST",
         url: "handlers/com_wall",
         data: {"comment": comment, "id_message": id_message}...


Дальше в php я просто получал эти переменные следующим образом:
$comment=$_POST['comment'];
$id_message=$_POST['id_message'];


и работал с ними.
Ответить с цитированием
  #12 (permalink)  
Старый 13.02.2013, 22:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Как я уже говорил, $.ajax() принимает в качестве data несколько форматов. Так что без разницы

var data = {comment: $('#comment').val(), id_message: $('id_message').val()};

или
var data = 'comment=comment_content&id_message=message_id'
Оба варианта приемлемы. И сервера эти различия не касаются.
Ответить с цитированием
  #13 (permalink)  
Старый 13.02.2013, 23:15
Кандидат Javascript-наук
Отправить личное сообщение для Vladislav Посмотреть профиль Найти все сообщения от Vladislav
 
Регистрация: 13.02.2013
Сообщений: 105

Сделал как вы говорите, то есть:
js:

$(function(){
   $(".button_comment").click(function(){
      var data = $(this.form).serialize();
      $.ajax({
         type: "POST",
         url: "handlers/com_wall",
         data: data,...

html:
<form class='form-container' action='handlers/com_wall' method='post'>
                                          <textarea rows='1' placeholder='Оставить комментарий..' id='com'></textarea>
                                          <input type='hidden' value='$id_message' id='id_mes'>
                                          <input type='hidden' value='$id_mine' id='sender'>
                                          <div class='wrap_button_comment'>
                                              <div class='error_com_box' id='error_com_box'></div>
                                              <input type='submit' value='Комментировать' class='button_comment' id='com_wall_submit'>
                                              <div class='clear'></div>
                                          </div>
                                      </form>

php:
<?php
if (isset($_POST['com'])) {$com=$_POST['com'];if ($com=='') {unset($com);}}
if (isset($_POST['id_mes'])) {$id_mes=$_POST['id_mes'];if ($id_mes=='') {unset($id_mes);}}
if (isset($_POST['sender'])) {$sender=$_POST['sender'];if ($sender=='') {unset($sender);}}

if (empty($id_mes) OR empty($sender)){
    echo 0;
    exit();
}
....


и мне выдает ошибку "0", то есть переменная $sender или $id_mes пустые...
Ответить с цитированием
  #14 (permalink)  
Старый 13.02.2013, 23:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Vladislav, ну вы опять закрыли глаза. Посмотрите на первый мой пример. Там в html прописаны name для элементов формы.

unset($var) не нужно делать, ибо empty($var = '') выдаст true
Ответить с цитированием
  #15 (permalink)  
Старый 14.02.2013, 00:22
Кандидат Javascript-наук
Отправить личное сообщение для Vladislav Посмотреть профиль Найти все сообщения от Vladislav
 
Регистрация: 13.02.2013
Сообщений: 105

как не прискорбно мне про это говорить, но я убрал unset, добавил name и все равно нечего не получается, хоть на этот раз ошибку уже не выводит.

Ладно, поробую еще в нете покапаться, может быть пример найду какой-то...

Вам спасибо большое, даже огромное!! Я еще вернусь!
Ответить с цитированием
  #16 (permalink)  
Старый 14.02.2013, 08:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Учитесь локализовывать ошибки. Для начала проверьте данные, которые отправляет браузер (вкладка Сеть(Network)). Если все ок, значит проблема на сервере. var_dump обычно помогает во всем разобраться.
Ответить с цитированием
  #17 (permalink)  
Старый 14.02.2013, 08:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вот как это выглядит в Chrome Developer Tools:
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Подскажите как достать значение из асс. массива posta Серверные языки и технологии 7 25.11.2012 00:38
Как достать вложеный метод? GhostSt Общие вопросы Javascript 2 29.05.2012 21:07
получение значения из классов karmis Events/DOM/Window 1 14.10.2011 19:09
Вытащить со страницы все значения name и value из тегов <input> qwr938 Общие вопросы Javascript 8 13.02.2011 15:16