Автор Тема: ajax requests и данни през POST  (Прочетена 1449 пъти)

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
ajax requests и данни през POST
« -: Dec 21, 2010, 23:07 »
Здравейте,

Фен съм и ползвател на CakePHP framework. В новия клон на рамката 1.3 обаче, има доста промени по-специално свързани с джаваскрипт, които поне засега ми се струват отвратителни, но по темата:
опитвам се да направя ajax request, като досега за целта ползвах prototype, но сега реших да опитам и jQuery. Целта е да направя елементарен селект бокс, при промяна на който да се ъпдейтва div елемент. Проблемът се явява, ако ajax-a  през метод POST И има сетната data, която се предава с call-a. Ето малко код:
кодът на селект-а:
Код
GeSHi (HTML):
  1. <select name="data[Sync][selection]" id="selection">
  2. <option value="hosting">Hosting</option>
  3. <option value="emails">Emails</option>
  4. <option value="google">Google</option>
  5. <option value="yahoo">Yahoo</option>
  6.  

и jQuery кода:
Код
GeSHi (Javascript):
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. $(document).ready(function () {
  4. $("#selection").bind("change", function (event) {
  5. $.ajax({async:true, data:"blabla", dataType:"html", success:function (data, textStatus) {
  6. $("#result").html(data);}, type:"POST", url:"\/Syncs\/syncSelection"});
  7. return false;});});
  8. //]]>
  9. </script>
  10.  

При използване на метод GET няма проблем. Проблем се получава, когато методът е POST и е сетнат параметъра "data:"blabla"", ако този параметър не е сетнат, нещата сработват. Когато обаче параметъра не е празен, то изобщо нищо не стига до уеб сървъра - гледам нещата с firebug и се виждат само request headers, но не и response (това се потвърждава и от липсата на запис в access log-a на апача). Почвам да си мисля, че нещо не е ОК с веб сървъра ми вече ......... просто не знам какво друго да мисля.

Помагайте плс. ...


П.П. Проблемът си остава и, ако ползвам prototype вместо jquery, макар, че не съм го тествал на 100% докрай, така че най-верояно проблема не е в джаваскрипта.
Също така, когато ползвам POST за метод и параметъра data не е празен във firebug  се вижда и следното:
XML Parsing Error: no element found Location: moz-nullprincipal:{8d771d51-d6b8-4d19-80fe-8a7cdb9ca918} Line Number 1, Column 1:
Активен

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: ajax requests и данни през POST
« Отговор #1 -: Dec 22, 2010, 00:15 »
Нямам представа къде ти е проблемът. При мен си работи ... Ето и моя (твоя) код:
Код
GeSHi (HTML):
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  <head>
  3.    <title></title>
  4.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <script src="/scripts/jquery.js" type="text/javascript"></script>
  6. <script type="text/javascript">
  7. $(document).ready(function ()
  8. {
  9. $("#selection").bind("change", function (event)
  10. {
  11. $.ajax(
  12. {
  13. async:true,
  14. data:
  15. {
  16. id : 1
  17. },
  18. dataType:"html",
  19. success: function (data, textStatus)
  20. {
  21. $("#result").html(data);
  22. },
  23. type:"POST",
  24. url:"sel.php"
  25. });
  26. return false;
  27. });
  28. });
  29. </script>
  30. </head>
  31.  <body>
  32. <select name="data[Sync][selection]" id="selection">
  33. <option value="hosting">Hosting</option>
  34. <option value="emails">Emails</option>
  35. <option value="google">Google</option>
  36. <option value="yahoo">Yahoo</option>
  37. </select>
  38.  
  39. <div id="result"></div>
  40.  </body>
  41. </html>
  42.  
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: ajax requests и данни през POST
« Отговор #2 -: Dec 22, 2010, 08:58 »
Проблемът се оказа в апача - segmentation fault-ваше при ПОСТ заявки. Това го оправих, но сега ми излезе друга "странност" - в скрипта, който слуша за заявката масивът $_POST е празен, т.е. липсват данните, които предавам с POST.

EDIT: Всъщност данните са в $_GET масива ......wtf  :o

EDIT2: Грешката е била моя - сега всичко е ОК мисля.
« Последна редакция: Dec 22, 2010, 09:12 от senser »
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
POST заявка с wget
Общ форум
astronom 1 1568 Последна публикация Sep 08, 2003, 13:30
от ogi
POST
Web development
Йордан 6 2411 Последна публикация Jun 22, 2004, 15:45
от Hapkoc
начално зареждане на LINUX ( POST )
Настройка на програми
SpikY 0 840 Последна публикация Feb 02, 2005, 01:29
от SpikY
Програмист c, php, javascript, ajax
Предлагане
voip 2 2271 Последна публикация Aug 08, 2006, 16:15
от Italianeca
Log на get и post
Кошче
go_fire 21 3088 Последна публикация Mar 28, 2022, 18:11
от remotexx