2013-09-18 3 views
-1

У меня есть этот Jquery код:JQuery пост не проходит все параметры

var idd = $(this).attr("id"); 
var page = $(this).attr("page"); 

    var data = "lastmsg="+idd+"&page="+page; 

    $.ajax({ 
     type: "POST", 
     url: "ajax_more.php", 
     data: data, 
     success: function(html){ 
      $("ol#live_updates").append(html); 
      $("#more"+idd).remove(); // removing old more button 
     } 
    }); 

и это "ajax_more.php" Код:

if(isset($_POST['lastmsg'])) 
{ 
    $lastmsg = mysql_real_escape_string($_POST['lastmsg']); 
    $page = mysql_real_escape_string($_POST['page']); 

     echo $lastmsg . " " . $page; 
} 

только ($ lastmsg) прошло, но и любой другой параметр like ($ page) не передается. В чем проблема ?? Я пытался ($ .post) и ($ .ajax) с типом «POST», оба не работают ...

+0

Данные! = Строка запроса. В любом случае вы можете видеть, что * * передается с помощью инструмента, такого как FireBug, который поможет изолировать подобные проблемы в будущем. – user2246674

+0

Вам нужно понять разницу между [POS и GET] (http://www.w3schools.com/tags/ref_httpmethods.asp). Тогда правильный способ использования [jQuery AJAX] (http://api.jquery.com /jQuery.ajax/) будет ясно – Fresheyeball

ответ

3

data должен быть объектом.

var data = {lastmsg: idd, page: page}; 
+0

Также не работает !! –

+0

Вы получаете сообщение об ошибке? Проверьте/var/log/apache_error_log и консоль firebug. –

+0

Нет, я не получил сообщение об ошибке. Одна переменная прошла, другие - нет. –

-2

Вам необходимо правильно закодировать все ваши аяксированные параметры, используя encodeURI.

См. Мой ответ here для получения дополнительной информации. Кроме того, используйте консоль вашего браузера для отладки.

+0

Как я могу использовать это в ajax POST, как мой код? –

+0

Вы не должны. Этот ответ влияет только на метод GET. –

+0

@JoeFrambach Да, вы должны, но если вы передадите объект в качестве параметра данных, jQuery сделает это за вас автоматически. – Musa

Смежные вопросы