JQuery диалог AJAX загрузки - PullRequest
       0

JQuery диалог AJAX загрузки

1 голос
/ 08 сентября 2010

Я пытаюсь загрузить форму в диалог jquery через ajax, и я заметил, что по какой-то причине в firebug URL-адрес запроса содержит фиктивный параметр soem..like .._ = 1283928792723, который приводит к сбою запроса с 406 неприемлемо.

Интересно, что этого не происходит с другими маршрутами, такими как edit_user_path (current_user), но это происходит с действиями post new и edit. странно

http://localhost:3000/users/96/posts/new?_=1283928792723&name=fake

var dialogOpts = {
      modal: true,
      bgiframe: true,
      autoOpen: false,
      height: 500,
      width: 500,
      draggable: true,
      resizeable: true
    };

    $("#new_vt").dialog(dialogOpts);   //end dialog

    $('#showdialog').click(function() {
      $('#new_vt').load(
      "<%= new_user_post_path(current_user)%>",
      "name=fake",
      function() {
        $('#new_vt').dialog('open');
      }
    );
      return false;
    });


<a href="#" class="" id="showdialog">
  Show
</a>
<div class="" id="new_vt">

</div>

Ответы [ 2 ]

0 голосов
/ 08 сентября 2010

Похоже, что new_user_post_path(current_user) возвращает URL со случайным числом, прикрепленным в строке запроса, чтобы предотвратить кэширование запроса.Проверьте функцию new_user_post_path и посмотрите, так ли это.

0 голосов
/ 08 сентября 2010

В вашем примере похоже, что URI генерируется на стороне сервера, т.е.

 new_user_post_path(current_user)

Чтобы проверить это, попробуйте ввести жестко закодированный URI и запустить скрипт.

Если вы сделаете это, и проблема исчезнет, ​​то проблема на самом деле связана с вашей серверной функцией, а не с jQuery.

Если у вас все еще есть проблема, вы можете попробовать передать данные следующим образом:

$('#showdialog').click(function() {
    $('#new_vt').load(
        "<%= new_user_post_path(current_user)%>",
        { name: "fake" },
        function() {
            $('#new_vt').dialog('open');
        }
    );
  return false;
});

Это то, как дополнительные данные передаются в примере в документации.

http://api.jquery.com/load/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...